sábado, 26 de diciembre de 2015

1.1. Mapas Físico - Político. Mapamundi.

Mapamundi con límites políticos.

Se explica como elaborar una mapamundi político con proyecciones misceláneas y cómo pintar áreas secas y húmedas, y cómo dibujar paralelos importantes y el meridiano de Greenwich.

Datos:
  • Global Self-consistent, Hierarchical, High-resolution Geography Database (GSHHG; incluido en GMT, Link): Conjunto de datos de líneas de costa de alta resolución.
  • Archivo paralelos.txt (link dropbox) con los paralelos principales (ecuador, trópicos, círculos polares) y el meridiano de Greenwich.

Variables de la figura: La primer parte del script contiene cuatro variables (de entorno), las cuales se definen con el comando SET (en windows). Para luego recuperar el valor de la variable se escribe su nombre entre %%.

SET nombre=Valor
%nombre%

1. Título: En el primer paso se define title con el título de la figura.

REM    Titulo
    SET    title=EJ1.1_Mapamundi
    echo %title%


2. Proyección: En la variable PROJ se define el sistema de proyección geográfica a utilizar y el ancho de la figura final. Con el texto "W0/15c" se define un mapa con proyección Mollweide, centrado en el meridiano 0ª (de Greenwich) y de 15 cm de ancho.

Nota: Para definir la proyección se puede usar la convención de GMT o a de Proj (ver GMT -J Codes).
Nota 2: En las proyecciones misceláneas el meridiano central es opcional.

REM    Proyeccion (W= Mollweide) 15 cm de ancho. Proyecciones misceláneas: (Lon0/)Ancho
    SET    PROJ=W0/15c


3. Región: En la variable REGION se define la región geográfica a cubrir por el mapa. Para los mapamundi existen 2 atajos:
  • d: -180/180/-90/90.
  • g: 0/360/-90/90.
Nota: Las coordenadas se ingresan en el orden W/E/S/N (mínimo y máximo del eje X, mínimo y máximo del eje Y).

REM    Region geografica del mapa (W/E/S/N) d=-180/180/-90/90 g=0/360/-90/90
    SET    REGION=d


4. Nombre Archivo de salida: La última variable (OUT) corresponde al nombre del archivo de salida que queda definida por el nombre de la figura (
%title%) y la extensión ps.

Nota: Los archivos que se generan son PostScript (ps). Es un formato abierto y vectorial.

REM     Nombre archivo de salida (no modificar)
    SET    OUT=%title%.ps


Dibujar Mapa:


5.  Encabezado del archivo de salida y variables: Este comando crea el encabezado del archivo PostScript y establece las variables definidas: Región (-R%REGION%) y proyección (-J%PROJ%). En sí el comando psxy -T no dibuja nada pero resulta práctico establecer las variables.
  • -R%REGION%: Establece la región del mapa (utilizando la variable %REGION%)
  • -J%PROJ%: Establece la protección y escala del mapa (utilizando la variable %PROJ%)
  • -P: Establece Portrait coma la orientación de la página (la alternativa es Landscape).
  • -K: Deja abierto el archivo PostScript para agregar nuevas capas.
REM    Crear encabezado del archivo de salida (ps) y establecer las variables
    gmt psxy -R%REGION% -J%PROJ% -T -K -P > %OUT%

 

6. Línea de Costa: Con pscoast se grafica la línea de costa (-W) y los límites de los países (nivel administrativo 1, -N1). 
  •  -O y -K: No escribe el encabezado del archivo (porque el archivo fue creado previamente) y lo deja abierto para agregar nuevas capas.
Nota: Las líneas están definidas por tres atributos (ancho, color y estilo). En caso de no ser especificado se utilizan valores por defecto (0.25p, negro, sólido).

REM    Dibujar Linea de Costa (-W) con los valores por default
    gmt pscoast -R -J -O -K
>> %OUT% -W

REM    Dibujar limite de Paises (N1: División administrativa 1) con línea de segmentos de 0.1p de ancho
    gmt pscoast -R -J -O -K >> %OUT% -N1/0.1,-



7. Borde Mapa: psbasemap con las siguientes opciones agrega el borde al mapa y un grillado.
  • -B0: Sólo agrega borde al mapa.
  • -Bg: Agrega borde al mapa y además un grillado con espaciado calculado automáticamente.
REM    Dibujar marco del mapa
    gmt psbasemap -R -J -O -K >> %OUT% -B0
    gmt psbasemap -R -J -O -K >> %OUT% -Bg


 

8. Áreas Secas y Húmedas
: pscoast permite pintar las áreas secas y húmedas a partir de la base de datos
GSHHG con los siguientes argumentos.
  • -G200: Pinta los continentes (áreas secas) con el color gis claro.
  • -Sdodgerblue2: Pinta los océanos (áreas húmedas) con un nombre predefinido en GMT.
  • -A0/0/1: Permite filtrar los elementos a dibujar según un area mínima (en km2, primer valor) y nivel jerárquico mínimo y máximo (segundo y tercer valor). Con 0/0/1 NO se filtra por área y se dibujan entre sólo el nivel 1 (continentes/océanos).
Nivel 1 = represents ocean/land boundaries.
Nivel 2 = land/lakes borders.
Nivel 3 = lakes/islands-in-lakes.
Nivel 4 = islands-in-lakes/ponds-in-islands-in-lakes.

Nota: En GMT existen 6 para definir colores: Colorname, R/G/B, #RRGGBB, graylevel, H-S-V y C/M/Y/K.

rem    Pintar areas secas
    gmt pscoast -R -J -O -K
>> %OUT% -G200

rem    Pintar areas húmedas
    gmt pscoast -R -J -O -K
>> %OUT% -Sdodgerblue2



9.  Paralelos y Meridianos importantes: Con psxy se puede dibujar el archivo paralelos.txt y utiliza los siguientes argumentos:
  • -Ap: los puntos que definen las líneas siguen primeros los paralelos y luego los meridianos (caso contrario las líneas siguen círculos máximos).
  • -W: Propiedades de la linea. En este caso 0.5 cm de ancho y punteada (-W0.5,-).
REM    Dibujar paralelos principales y meridiano de Greenwich a partir del archivo paralelos.txt -Am (lineas siguen meridianos)
    gmt psxy -R -J -O -K "paralelos.txt"
>> %OUT% -Ap -W0.50,.-


10. Cerrar y convertir el formato del archivo de salida: Con el comando psxy -T se cierra el archivo PostScript (no tiene el argumento -K). Luego, con psconvert -T se puede convertir al archivos ps a otros formatos: EPS (e), PDF (f), JPEG (j), PNG (g), TIFF (t).

REM    Cerrar el archivo de salida (ps)
    gmt psxy -R -J -T -O >> %OUT%

REM    Convertir ps en otros formatos: EPS (e), PDF (f), JPEG (j), PNG (g), TIFF (t)
    psconvert %OUT% -Tj -A

11. Cambiar meridiano central del Mapa: Finalmente, vamos a cambiar el meridiano central del mapa (Lon0) del meridianos de Greenwich (0) a un meridiano para que Argentina quede en el centro (-65). Para esto hay que editar la variable de la proyección del punto 2. Para modificarlo conviene agregar una nueva línea (SET  PROJ=W-65/15c). En este punto, uno también podría modificar el sistema de proyección (del tipo misceláneo).

REM    Proyeccion (W= MollWeide) 15 cm de ancho. Proyecciones miscelanas: (Lon0/)Ancho
    SET    PROJ=W15c
    SET    PROJ=W-65/15c

Actualización (29/10/2016):

12. Otras proyecciones: Se pueden crear mapas con otras proyecciones simplemente cambiando la letra que la define (punto 2). Por ejemplo, para rehacerlo con la proyección Robinson (N) se utiliza el siguiente comando:

    SET    PROJ=N-65/15c
 
Proyección Robinson (N)

Proyección Winkle Triple (R)
Proyección Hammer (H)

Proyección Eckert IV (Kf)
Proyección Eckert VI (Ks)
Proyección Sinusoidal (I)
Proyección Van der Grinten (V)

3 comentarios: