Hacer un perfil topográfico a partir de una grilla.
Se explica como extraer los datos de alturas de una grilla y crear un perfil topográfico.
Script
0. Variables: Se definen las variables principales del script: dimensiones del perfil (15 x 5 cm) y ubicación absoluta de la grilla GEBCO (que puede que no coincida con la del usuario).
REM Dimensiones en cm del Grafico: Longitud (L), Altura (H).
SET L=15
SET H=5
REM Base de datos de GRILLAS
SET DEM="E:\Facultad\Datos_Geofisicos\Batimetria\GEBCO_14\GEBCO_2014_1D.nc"
1. Perfil: Crear un archivo (temp_line) con los extremos del perfil topográfico entre los meridianos 76 y 46 ºW sobre el paralelo 32 ºS.
REM Crear archivo para dibujar perfil (Long Lat)
echo -76 -32 > temp_line
echo -46 -32 >> temp_line
2. Interpolar: con sample1d se crea un archivo nuevo (temp_sample1d) interpolando entre los dos extremos del perfil con puntos (en longitud y latitud) cada 0,2 km (-I0.2k) a partir del archivo temp_line. La línea por defecto sigue un círculo máximo.
REM Remuestrear perfil con datos de posicion geográfica cada 200 m (-I).
gmt sample1d temp_line -I0.2k > temp_sample1d
3. Distancia: mapproject agrega la distancia (medida desde el origen) en km (-G+uk) de los puntos del archivo temp_sample1d. Los datos se guardan en la 3a columna del archivo temp_track.
REM Calcula la distancia del perfil (-G) en km
gmt mapproject "temp_sample1d" -G+uk > "temp_track"
4. Muestrear grilla: grdtrack permite muestrear la grilla GEBCO (definido con la variable %DEM%) en las posiciones (Long Lat) del archivo temp_track. Los neuvos datos se guardan en la 4a columna del archivo temp_data.
REM Muestrea la grilla (Gebco) en las posiciones geograficas del perfil
gmt grdtrack "temp_track" -G%DEM% > "temp_data"
5. Información Perfil: gmtinfo nos brinda información de cada columna del archivo temp_data. Los datos de las columnas 3 y 4 son utilizados luego para crear el perfil topográfico. El comando pause permite detener momentáneamente la ejecución del script, ajustar (y guardar) las variables subsiguientes (punto 6) y luego continuar su ejecución.
echo Distancia del Perfil (km):
gmtinfo "temp_data" -C -o5
echo Altura (m) minima y maxima:
gmtinfo "temp_data" -C -o6,7
6. Datos Perfil: De los datos de gmtinfo se extraen los datos de la longitud del perfil (columna 3) en (KM) y del rango de valores de topografía (Min y Max; columna 4).
REM Datos del perfil segun gmtinfo
SET KM=2825.5
SET Min=-6200
SET Max=5300
7. Crear gráfico: con psxy se crea el gráfico con proyección lineal (-JX) con la longitud (%L%) y altura (%H%). En -R se incluyen las variables del perfil definidos en 6 (%KM% y %Min%/%Max%).
REM Crear Grafico
gmt psxy -JX%L%/%H% -R0/%KM%/%Min%/%Max% -T -K -P > %OUT%
8. Eje X: con psbasemap se grafican los eje X con el título "Distancia (km)". Las anotaciones y marco son calculadas por defecto (-Bxaf). Este comando sólo dibuja el eje inferior con anotaciones y marco, y el superior sólo con anotaciones (--MAP_FRAME_AXES=Sn).
REM Dibujar Eje X (Sn)
gmt psbasemap -R -J -O -K -Bxaf+l"Distancia (km)" >> %OUT% --MAP_FRAME_AXES=Sn
9. Eje Y y graficar datos: con psxy se grafican los otros dos ejes (wE) y los datos. El siguiente comando dibuja un eje con anotaciones y lineas cada 2500 m y gradaciones cada 500 m (-Bya2500f500g2500), con el título del eje "Topografía". Los datos del archivo "temp_data" se grafican como una línea azul de 0,5 de ancho (-W0.5,blue). El argumento -i2,3 indica que los datos a graficar están en las columnas 3 y 4 (en computación se empieza a contar de 0).
REM Dibujar Eje Y y datos de columnas 3 y 4 (-i2,3)
gmt psxy -R -J -O -K "temp_data" -W0.5,blue -Bya2500f500g2500+l"Topograf\355a (m)" -i2,3 >> %OUT% --MAP_FRAME_AXES=wE
PD: 07-12-2016
10. Orientación Perfil: Agregué las coordenadas geográficas que indiquen la orientación del perfil (E y O en este caso) (ver punto 7 de 11.2 Perfiles Múltiples para más detalles).
echo E | gmt pstext -R -J -O -K -F+cTR+f14p -Gwhite -W1 >> %OUT%
echo O | gmt pstext -R -J -O -K -F+cTL+f14p -Gwhite -W1 >> %OUT%
PD II: 19-01-2017
11. Escalas y Exageración Vertical: Agregué los comandos que calculan la escalas horizontal y vertical, y exageración vertical del perfil. Ver 14.1 (punto 4) para explicación detallada.
PD III: 19-03-2020
12. Escala gráfica Horizontal y Vertical: con psbasemap -L se pueden agregar escalas horizontal y vertical en coordenadas cartesianas con los siguientes opciones:
gmt psbasemap -R -J -O -K >> %OUT% -LjCB+w1000+lm+o1.2/0.67+v
gmt psbasemap -R -J -O -K >> %OUT% -LjCB+w200+lkm+o0/0.5
Script
0. Variables: Se definen las variables principales del script: dimensiones del perfil (15 x 5 cm) y ubicación absoluta de la grilla GEBCO (que puede que no coincida con la del usuario).
REM Dimensiones en cm del Grafico: Longitud (L), Altura (H).
SET L=15
SET H=5
REM Base de datos de GRILLAS
SET DEM="E:\Facultad\Datos_Geofisicos\Batimetria\GEBCO_14\GEBCO_2014_1D.nc"
1. Perfil: Crear un archivo (temp_line) con los extremos del perfil topográfico entre los meridianos 76 y 46 ºW sobre el paralelo 32 ºS.
REM Crear archivo para dibujar perfil (Long Lat)
echo -76 -32 > temp_line
echo -46 -32 >> temp_line
Captura de pantalla del archivo temp_line en Gedit con los extremos del perfil. |
2. Interpolar: con sample1d se crea un archivo nuevo (temp_sample1d) interpolando entre los dos extremos del perfil con puntos (en longitud y latitud) cada 0,2 km (-I0.2k) a partir del archivo temp_line. La línea por defecto sigue un círculo máximo.
REM Remuestrear perfil con datos de posicion geográfica cada 200 m (-I).
gmt sample1d temp_line -I0.2k > temp_sample1d
Archivo temp_sample1d con datos interpolados cada 0,2 km. Se muestran las primeras 20 líneas de un total de 14100. |
3. Distancia: mapproject agrega la distancia (medida desde el origen) en km (-G+uk) de los puntos del archivo temp_sample1d. Los datos se guardan en la 3a columna del archivo temp_track.
REM Calcula la distancia del perfil (-G) en km
gmt mapproject "temp_sample1d" -G+uk > "temp_track"
Archivo temp_track con datos de distancia en la 3a columna. |
4. Muestrear grilla: grdtrack permite muestrear la grilla GEBCO (definido con la variable %DEM%) en las posiciones (Long Lat) del archivo temp_track. Los neuvos datos se guardan en la 4a columna del archivo temp_data.
REM Muestrea la grilla (Gebco) en las posiciones geograficas del perfil
gmt grdtrack "temp_track" -G%DEM% > "temp_data"
Archivo temp_data con datos de elevación en la 4a columna. |
5. Información Perfil: gmtinfo nos brinda información de cada columna del archivo temp_data. Los datos de las columnas 3 y 4 son utilizados luego para crear el perfil topográfico. El comando pause permite detener momentáneamente la ejecución del script, ajustar (y guardar) las variables subsiguientes (punto 6) y luego continuar su ejecución.
echo Distancia del Perfil (km):
gmtinfo "temp_data" -C -o5
echo Altura (m) minima y maxima:
gmtinfo "temp_data" -C -o6,7
6. Datos Perfil: De los datos de gmtinfo se extraen los datos de la longitud del perfil (columna 3) en (KM) y del rango de valores de topografía (Min y Max; columna 4).
REM Datos del perfil segun gmtinfo
SET KM=2825.5
SET Min=-6200
SET Max=5300
7. Crear gráfico: con psxy se crea el gráfico con proyección lineal (-JX) con la longitud (%L%) y altura (%H%). En -R se incluyen las variables del perfil definidos en 6 (%KM% y %Min%/%Max%).
REM Crear Grafico
gmt psxy -JX%L%/%H% -R0/%KM%/%Min%/%Max% -T -K -P > %OUT%
8. Eje X: con psbasemap se grafican los eje X con el título "Distancia (km)". Las anotaciones y marco son calculadas por defecto (-Bxaf). Este comando sólo dibuja el eje inferior con anotaciones y marco, y el superior sólo con anotaciones (--MAP_FRAME_AXES=Sn).
REM Dibujar Eje X (Sn)
gmt psbasemap -R -J -O -K -Bxaf+l"Distancia (km)" >> %OUT% --MAP_FRAME_AXES=Sn
9. Eje Y y graficar datos: con psxy se grafican los otros dos ejes (wE) y los datos. El siguiente comando dibuja un eje con anotaciones y lineas cada 2500 m y gradaciones cada 500 m (-Bya2500f500g2500), con el título del eje "Topografía". Los datos del archivo "temp_data" se grafican como una línea azul de 0,5 de ancho (-W0.5,blue). El argumento -i2,3 indica que los datos a graficar están en las columnas 3 y 4 (en computación se empieza a contar de 0).
REM Dibujar Eje Y y datos de columnas 3 y 4 (-i2,3)
gmt psxy -R -J -O -K "temp_data" -W0.5,blue -Bya2500f500g2500+l"Topograf\355a (m)" -i2,3 >> %OUT% --MAP_FRAME_AXES=wE
PD: 07-12-2016
10. Orientación Perfil: Agregué las coordenadas geográficas que indiquen la orientación del perfil (E y O en este caso) (ver punto 7 de 11.2 Perfiles Múltiples para más detalles).
echo E | gmt pstext -R -J -O -K -F+cTR+f14p -Gwhite -W1 >> %OUT%
echo O | gmt pstext -R -J -O -K -F+cTL+f14p -Gwhite -W1 >> %OUT%
PD II: 19-01-2017
11. Escalas y Exageración Vertical: Agregué los comandos que calculan la escalas horizontal y vertical, y exageración vertical del perfil. Ver 14.1 (punto 4) para explicación detallada.
PD III: 19-03-2020
12. Escala gráfica Horizontal y Vertical: con psbasemap -L se pueden agregar escalas horizontal y vertical en coordenadas cartesianas con los siguientes opciones:
- jCB: escala centrada al centro abajo (central bottom)
- +o: desplazamiento con respecto al punto de referencia
- +w: longitud de la escala
- +l: unidad de la escala (m o km)
- +v: dibuja escala vertical.
gmt psbasemap -R -J -O -K >> %OUT% -LjCB+w1000+lm+o1.2/0.67+v
gmt psbasemap -R -J -O -K >> %OUT% -LjCB+w200+lkm+o0/0.5
No hay comentarios.:
Publicar un comentario