Es ist ja immer wieder faszinierend zu sehen, was es alles für – noch dazu frei verfügbare – Computerprogramme auf der Welt gibt. Heute zeige ich euch ein besonders nettes Spielzeug für alle, die Landkarten malen wollen: gmt – Generic Mapping Tools.
gmt ist eine Toolbox, mit der man Grafiken erstellen kann. Gedacht ist sie vor allem für Landkarten, aber wer will, kann auch ganz andere Dinge damit malen. Die Installation ist zumindest unter Ubuntu direkt aus den Paketquellen möglich, weitere Infos zum Installieren gibt es hier.
Die Logik hinter gmt ist einfach, aber clever: es werden grundsätzlich postscript-Bilder erzeugt. Das hat den Vorteil, dass man mehrere Befehle hintereinander schalten kann; solange man dem Programm sagt, dass die ps-Datei noch nicht geschlossen werden soll, lassen sich weitere Informationen direkt anhängen.
Bedient wird das ganze über die Kommandozeile (bitte ohne Zeilenumbruch eingeben, der ist nur, weil es hier sonst nicht passt…):
gmt pscoast -R-25/40/30/80 -JM6i -B10f10g10 -Dh -A500 -Ggray64 -Swhite -Wthinnest -N1/thinnest > map1.ps
erzeugt zum Beispiel diese nette Europa-Karte (hinterher simpel mit convert in ein png umgewandelt):
Sieht kompliziert aus? Ist es aber gar nicht.
gmt pscoast
sagt, dass ihr das pscoast-Modul von gmt benutzen wollt, mit dem man Karten (Küstenlinien) zeichnen kann
-R-25/40/30/80
gibt den Rahmen für euer Bild an, also die zu zeichnenden Koordinaten in Längen- und Breitengraden
-JM6i
sagt, welche Kartenprojektion wir haben wollen, -J für die Projektionsoption, M für Mercator, 6i sagt, dass das Bild am Ende 6inch breit sein soll (das gilt für’s postscript). Neben der Mercator-Projektion gibt es noch alle möglichen anderen, einfache Zylinder-Projektion (bei der man direkt Längen- und Breitengrade aufträgt), Globus-Projektionen (dazu gleich noch ein Beispiel) und jede Menge anderer, die vermutlich nur Geographinnen kennen…
-B10f10g10
sagt, wie ihr die Achsen markieren wollt (Einteilung in 10 Grad)
-Dh
sagt, dass wir gern den hochauflösenden Datensatz verwendet hätten (ja, das Programm kommt mit sämtlichen Daten, die ihr für ne Landkarte braucht, zumindest was Küsten und Länder und wohl auch Flüsse angeht)
-A500
gibt an, wie kleine Strukturen (z.B. Seen) noch gezeichnet werden sollen
-Ggray64
sagt, dass wir Landmassen in Farbton grau64 zeichnen wollen
-Swhite
und das Meer bitte in weiß
-Wthinnest
Küstenlinien bitte mit nem dünnen Strich nachzeichnen
-N1/thinnest
und Länder auch
> map1.ps
und dann das Ergebnis in die Datei map1.ps schreiben.
Auf den ersten Blick ziemlich viel Kram, dafür aber auch ein ziemlich mächtiges Werkzeug.
Richtig cool wird die Sache dadurch, dass ihr auch zum Beispiel Linien zeichnen könnt – und die werden dann korrekt als kürzeste Verbindungen dargestellt. Dazu hängen wir zwei Bildbefehle hintereinander: Verseht das erste Bild mit einem -K vor dem >-Zeichen (Ich habe hier mal -A200 genommen, dann werden ein paar mehr Dinge gezeichnet, zum Beispiel die Färöer-Inseln):
gmt pscoast -R-25/40/30/80 -JM6i -B10f10g10 -Dh -A200 -Ggray64 -Swhite -Wthinnest -N1/thinnest -K > map2.ps
dann könnt ihr eine Linie anhängen
gmt psxy -R -J -O data3.dat -Wthin,blue >> map2.ps
Die psxy-Option sagt, dass ihr Datenpunkte zeichnen wollt, -R und -J ohne Option sagt, dass die Projektion dieselbe ist wie vorher, und die Daten sollen mit ner blauen Linie verbunden werden. Linux-mäßig wird das ganze mit >> an die ps-Datei angehängt.
Die Datei data3.dat muss die Daten enthalten, hier sind das die Koordinaten von Athen und Reykjavik:
23.703 37.9908997 -21.6 64.13
Hier also die Flugroute:
Wie ihr seht, ist das Programm schlau genug, um zu wissen, dass der kürzeste Weg auf einer Karte nicht immer ne Gerade ist.
Ihr könnt auch ne schicke Weltkugel malen, wenn ihr wollt:
gmt pscoast -Rg -JG-40/50/6i -Bag -Di -A5000 -Ggrey -Swhite -Wthinnest > map3.ps
Dabei sagt das -Rg, dass ihr die ganze Erde malen wollt, -JG sagt, dass ihr nen Globus projizieren woll, mit Angaben, wo über dem Globus euer Sichtpunkt liegt. So sieht das aus:
Es gibt noch etwa eine Million weiterer Optionen, ihr könnt andere Datensätze überlagern, Reliefkarten zeichnen und alles mögliche andere (das habe ich mir aber nicht im Detail angeguckt, weil ich es gerade nicht brauche…) Alles in allem ein wirklich cooles und nützliches Werkzeug.
Detaillierte Infors und die Dokumentation (lobenswert ausführlich, das hat man bei freien Programmen ja oft nicht) findet ihr unter https://gmt.soest.hawaii.edu/
Kommentare (5)