../../_images/logo_gmt.png

Nota

Questo progetto è incluso solo nel disco della macchina virtuale OSGeoLive

Guida rapida GMT

GMT è una collezione di strumenti che permettono agli utenti di gestire set di dati (x,y) e (x,y,z) (includendo filtri, trend fitting, gridding, proiezioni, ecc.) e produce file Encapsulated PostScript (EPS) la varietà di illustrazioni vanno da semplici grafici x-y passando per mappe delle curve di livello fino a superfici illuminate artificialmente e viste prospettiche 3D in bianco e nero, toni di grigio, in black and white, gray tone, hachure patterns, e colori 24-bit.

In questo veloce tutorial GMT userai un modello digitale del terreno (DTM) per generare una mappa di rilievo ombreggiata.

Crea una mappa

Come set di dati di input useremo un DTM dal set di dati di esempio di GRASS GIS, che è accessibile da GDAL usando il driver GDAL-GRASS.

Da una rapida occhiata ai metadati DTM, apri un terminale e usa il comando GDAL gdalinfo:

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

Puoi vedere che il DTM è in un sistema di coordinate proiettato e l’intervallo di dati è tra 50 e 160 metri.

Puoi convertire il DTM in un formato di file netCDF compatibile con GMT con gdal_translate come segue:

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

Per il tuo esempio GMT trasformerai prima il dataset in coordinate geografiche Longitudine-Latitudine (EPSG:4326) usando il comando gdalwarp:

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

Crea una tavolozza di colori

Per assegnare una mappa dei colori alla nostra griglia possiamo creare una tavolozza di colori GMT con il comando “makecpt”. Imposteremo l’intervallo e il numero di colori con l’opzione “-T” e assegneremo una mappa dei colori con l’opzione “-C”.

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

Puoi sperimentare con altre tavole di colori, vedi “man gmt makecpt” per un elenco completo.

Definire un gradiente

Per il tuo esempio di rilievo ombreggiato hai bisogno di specificare come l’intensità del colore è distribuita lungo la griglia. Per farlo, calcolerai la derivata direzionale, o gradiente, dalla tua griglia usando il comando grdgradient. In grdgradient userai il flag -Ne per normalizzare l’output usando una distribuzione cumulativa di Laplace e il flag -A per la direzione azimutale per una derivata direzionale.

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

L’output è un file netCDF che può poi essere usato come intensità di colore dal comando grdimage come segue:

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

Visualizza la barra dei colori

Infine puoi aggiungere una barra di colore con psscale:

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

Qui il flag -D è usato per selezionare la posizione della barra dei colori TC: Top Center, la dimensione 5x0.25 espressa in pollici i l’orientamento da h: orizzontale e il flag -By per impostare un’etichetta m sull” asse y.

Il documento ps in uscita dovrebbe assomigliare a questo:

North Caroline - dati altimetrici campione

Cose da provare

  • Installare i seguenti pacchetti:

    • gmt-dcw

    • gmt-gshhg

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

E ora?