../../_images/logo_gmt.png

Bemerkung

Das Projekt ist lediglich auf der OSGeoLive Virtual Machine Disk (VMDK)

GMT Quickstart

GMT ist eine Sammlung von Werkzeugen, die es Benutzern erlauben, gezielt (x, y) und (x, y, z) Datensätze zu manipulieren (einschließlich Filterung, Trend-Fitting, Rasterung, Projektion, etc.) und Encapsulated PostScript Datei (EPS) Illustrationen zu produzieren, von einfachen xy-Plots über Reliefkarten bis hin zu künstlich beleuchteten Oberflächen und 3D Perspektive in Schwarz und Weiß, Graustufen, Mustern und 24-Bit-Farben.

In diesem GMT-Tutorial verwenden wir ein digitales Geländemodell (DTM), um eine schattierte Reliefkarte zu generieren.

Erstellen einer Karte

Als Eingabe-Datensatz verwenden wir ein DTM aus dem GRASS GIS-Beispiel-Datensatz, auf das via GDAL mit dem GDAL-GRASS-Treiber zugegriffen werden kann.

Öffnen Sie aus einem kurzen Blick auf die DTM-Metadaten ein Terminal und verwenden Sie den GDAL-Befehl gdalinfo:

gdalinfo /home/user/grassdata/nc_basic_spm_grass7/PERMANENT/cellhd/elevation

Wir können sehen, dass sich das DTM in einem projizierten Koordinatensystem befindet und der Datenbereich zwischen 50 und 160 Metern liegt.

Wir können das DTM in ein GMT-kompatibles netCDF-Dateiformat mit gdal_translate wie folgt konvertieren:

gdal_translate -of GMT /home/user/grassdata/nc_basic_spm_grass7/PERMANENT/cellhd/elevation elevation.gmt

Für unser GMT-Beispiel transformieren wir den Dtensatz zunächst mit dem Befehl gdalwarp in geographische Koordinaten Longitude-Latitude (EPSG:4326):

gdalwarp elevation.gmt geo_elevation.gmt -t_srs EPSG:4326

Erstellen einer Farbpalette

Um unserem Raster eine Farbkarte zuzuweisen, können wir mit dem Befehl makecpt eine GMT-Farbpalettentabellen erstellen. Wir legen den Bereich und die Anzahl der Farben mit dem Flag -T fest und weisen eine Colormap mit dem Flag -C zu.

gmt makecpt -Chaxby -T50/160/10 -Z > elevation.cpt

Sie können mit anderen Farbtabellen experimentieren, siehe man gmt makecpt für eine vollständige Liste.

Definieren des Farbverlaufs (Gradient)

Für unser schattiertes Reliefbeispiel müssen wir angeben, wie die Farbintensität entlang des Rasters verteilt ist. Dazu berechnen wir die Richtungsableitung oder den Gradienten aus unserem Raster mit dem Befehl grdgradient. In grdgradient verwenden Sie das -Ne-Flag, um die Ausgabe mit einer kumulativen Laplace-Verteilung und das -A-Flag für Azimuthalrichtung für eine directional derivative zu normalisieren.

gmt grdgradient geo_elevation.gmt -Ne0.8 -A100 -fg -Ggradient.nc

Die Ausgabe ist eine netCDF-Datei, die dann als Farbintensität durch den Befehl grdimage wie folgt verwendet werden kann:

gmt grdimage geo_elevation.gmt -Igradient.nc -JM6i -P -Ba -Celevation.cpt -K > GMT_tut_OSGeoLive.ps

Anzeigen der Farbleiste

Schließlich können wir eine Farbleiste mit psscale hinzufügen:

gmt psscale -DjTC+w5i/0.25i+h+o0/-1i -Rgeo_elevation.gmt -J -Celevation.cpt -I0.4 -By+lm -O >> GMT_tut_OSGeoLive.ps

Hier wird das Flag -D verwendet, um die Farbbalkenposition TC: Top Center, die Größe 5x0.25 in Zoll i die Ausrichtung durch h: horizontal und das Flag -By auszuwählen, um eine Beschriftung m auf der y-Achse zu setzen.

Das Ausgabe-ps-Dokument sollte wie folgt aussehen:

North Caroline - sample elevation data

Was Sie noch ausprobieren können

  • Install the following packages:

    • gmt-dcw

    • gmt-gshhg

  • GMT tutorial <https://docs.generic-mapping-tools.org/latest/tutorial>

Was kommt als Nächstes?