
INTRODUCCIÓN
La producción de salidas cartográficas de alto nivel, es una de las mas notables limitaciones de las herramientas que manejan información espacial o de la herramientas GIS, en lo que al Software Libre y al Open Source respecta. Programas como GRASS el cual tiene un modulo propio para elaborar salidas cartográficas (ps.map), ofrecen al usuario la posibilidad de crear salidas de un nivel decente, pero la capacidad de producción de salidas finales es limitada, por tanto se necesitaría de un software de publicación de Escritorio (DTP, siglas de Desktop Publishing), para finalizar el producto.
GMT es un programa especializado en la producción de salidas cartográficas de alto nivel (Press ready Maps), son cerca de 60 paquetes para el manejo de datos espaciales en coordenadas geográficas y cartesianas (incluyendo filtrado, ajuste de tendencia, grillado y reproyección entre otras). http://gmt.soest.hawaii.edu/
INSTALACIÓN Y PRIMEROS PASOS
Instalar GMT en un sistema basado en UNIX, puede resultar bastante sencillo si se cuenta con una conexión a internet apropiada y con los programas básicos del sistema GNU/Linux, como el compilador de lenguaje c de GNU conocido como gcc, la herramienta make del proyecto GNU que crea archivos ejecutables a partir de archivos de código fuente, un compresor de ficheros como bzip2 o gunzip, entre otros, además de acceso a un inteprete de comandos o Shell basado en POSIX y permisos de lectura, escritura y ejecución para los directorios en los que GMT será instalado.
Formulario de instalación GMT
GMT es un programa modular, está compuesto de diferentes programas y paquetes que son perfectamenta funcionales en la tarea de elaboración de salidas cartográficas, pero que complican las cosas al momento de la instalación, ya que estos paquetes vienen en diferentes archivos comprimidos de código fuente cuya compilación y configuración se convierten en tareas bastante tediosas. Para facilitar el proceso de instalación, los desarrolladores han creado el formulario de configuración e instalación (Figura 1.), al cual se puede acceder desde http://gmt.soest.hawaii.edu/gmt/gmt_install_form.html , y el Script de instalación el cual debe ser descargado de la dirección: ftp://ftp.soest.hawaii.edu/gmt/install_gmt .

Figura 1. Formulario de Instalación GMT.
Requerimientos Básicos
Una véz se ingresa al formulario, se debe diligenciar la información solicitada, según las opciones requeridas basadas en la configuración del equipo y la preferencia del usuario.
Sistema de Medición
La primera opción del formulario de instalación se refiere al sistema de medición que será utilizado en la creación de los mapas con GMT, se puede elegir entre Sistema Inglés o métrico (SI) y el sistema norteamericano (US). Por efectos de configuración regional de nuestro equipo en este caso se escogerá el sistema inglés.

Figura 2. Opciones del sistema de medición.
Formato de Salida Gráfica
El producto principal de la implementación de GMT, son los archivos de publicación, como los conocidos PDF y los PostScript. El segundo parámetro del formulario de instalación, se refiere al tipo de archivo de salida que se desea para la publicación del mapa. Se puede escoger entre salida en PostScript (PS) o PostScript Encapsulado (EPS); posiblemente no sean muy comunes estos tipos de archivo, pero con la ayuda de programas libres como ps2pdf, que viene incluido en el paquete conocido como GhostScript, podemos generar un PDF a partir de un archivo PostScript, con una simple instrucción de código como la siguiente:


Continua...
{mospagebreak title= Pag.2 Sección 2 formulario de instalación}
Instalación de netCDF
Parámetros de Configuración de netCDF
netCDF (network Common Data Form), es un conjunto de librerías de software y formatos de datos independientes de la plataforma, que permiten intercambiar, acceder y compartir información científica ordenada en arreglos . (Tomado de la página web de netCDF: http://www.unidata.ucar.edu/software/netcdf/). En otras palabras, netCDF sería el equivalente a GDAL/OGR, librería de acceso a datos utilizada por muchos proyectos de software libre en geomática. GMT utiliza necesariamente netCDF para el acceso a datos espaciales ordenados en grillas (topografía, gravedad, etc.), esta opción es muy útil si no tenemos netCDF instalado, ya que el script de instalación lo hará por nosotros; de cualquier manera debemos pasarle información a este parámetro, aún cuando tengamos netCDF instalado, pues se requieren la creación de variables de entorno para que GMT tenga acceso a las librerías; en este caso optamos por escoger la opción en la cual el script de GMT instale netCDF y configure la variables de entorno automáticamente, la ruta preferente para la instalación de netCDF será /usr/local/netCDF.

Figura 5. Parámetros de instalación de netCDF.
Instalación de GMT
Selección del sitio FTP
El script de instalación realizará la descarga de los paquetes de código fuente de GMT desde el sitio FTP que se especifique en el archivo de parámetros de instalación (archivo resultante del diligenciamiento del formulario); se debe tener en cuenta que los tiempos de descarga dependen de la cercanía del sitio escogido; para este caso se escogerá el sitio FTP de Sur América, que geográficamente está en la oficina de la Asociación Internacional de Geodesia (IAG) ubicada en el Departamento de Geofísica, dentro del campus de la Universidad de San Pablo en Brasil (USP).

Figura 6. Listado de sitios FTP.
Características de transmisión FTP
Para descargar los paquetes desde el sitio FTP seleccionado, se requiere especificar el modo de transferencia de paquetes. Si nuestra conexión está asegurada con un firewall es necesario dejar la opción de trasnmisión pasiva FTP (Pasive FTP); la opción de trasnmisión activa (Active FTP) es obligatoria si se cuenta con un cliente FTP muy viejo (caso de ejecución del script desde un shell con kernel GNU/Linux anterior a la versión 2.4), ya que es necesario que la conexión retorne del servidor al cliente; de cualquier manera, lo más seguro es que nuestro cliente sea actual, por estas razón dejaremos la opción por defecto (Pasive FTP).

Figura 7. Transferencia FTP.
Componentes de instalación de GMT
Se habia hecho mención sobre la modularidad de GMT como una de sus principales caracteristicas, aunque el código fuente para la instalaci'on básica viene empaquetado en un solo archivo correspondiente a la primera opción de esta sección, las demás opciones corresponden a ficheros de documentación y datos necesarios para el correcto funcionamiento del programa, las opciones marcadas como REQUIRED son necesarias para una instalación básica.
Los programas complementarios serán seleccionados en una sección posterior. Para esta sección se marcarán todas las opciones ya que se busca una instalación completa.

Figura 8. Opciones de Instalación.
Algoritmos de triangulación
Teniendo en cuenta que GMT puede generar mapas o datos en formato raster, a partir de información georrefenciada ordenada en arreglos, se pueden seleccionar las librerias del algoritmo de interpolación o triagulación con el que se generaran dichos datos. Es importante anotar que la primera opción de la selección (Watson's Algorithm) es la única que se distribuye bajo licencia libre GNU GPL, pero no es la alternativa más rápida, en contraste a esto, la segunda opción (Shewchuk's Algorithm) es más eficienten en cuanto al tiempo empleado para el cálculo pero no se distribuye bajo una licencia libre. Dado que queremos una instalación completa y sin limitaciones se seleccionará la primera opción.

Figura 9. Algoritmos de interpolación.
Tipo de compilación de librerías
En esta sección de formulario se podrá escoger entre dos opciones, las librerías de tipo estático (Static Libraries) y las librerías de tipo dinámico o compartidas (Shared (dynamic) Libraries). La diferencia entre uno u otro tipo radica en el tamaño de disco que se consume en la instalación que para la segunda opción se reduce entre un 50% y un 70%. Se escogerá la primera opción ya que es la más común en el sistema.

Figura 10. Librerías del sistema.
Selección del compilador de Lenguaje C
Teniendo en cuenta que este manual está orientado a una instalación sobre una plataforma totalmente libre, se cambiará la selección por defecto del formulario de instalación al compilador gcc de GNU, (Opción 2 de la lista desplegable).

Figura 11. Compilador de C.
Continua...
{mospagebreak title= Pag.3 Opciones finales formulario de instalación}
Selección de la herramienta de instalación en el sistema
Se dejará la opción por defecto de esta lista desplegable, ya que como los autores recomiendan, el programa make del proyecto GNU arroja los mejores resultados en este proceso, con algunas excepciones, de cualquier forma, al igual que en la opción anterior se podrá especificar la ruta de otra herramienta de instalación (opción 2 de la lista y caja de texto).

Figura 12. Herramienta de instalación.
Directorio de instalación de GMT
El script de instalación, por defecto desempaquetará e instalará la versión más reciente de GMT en el directorio en donde este se ejecute junto con el archivo de parametros que se generará del diligenciamiento de este formulario. En sistemas basados en UNIX, como GNU/Linux, la dirección por defecto donde se instalan nuevos programas es /usr/local o /sw, en este orden, se escogerá como raíz principal de la instalación /usr/local/GMT en la primera caja de texto, así que se copiarán todos los archivos y datos de GMT en su estructura estandar de directorios (bin, lib, include, share, share/man, y share/doc/gmt); de igual manera si el usuario lo desea, se tiene la opción de especificar uno a uno los directorios de dicha estructura en las cajas de texto subsiguientes de la sección. Por razones de conveniencia, se especificará solo la raíz principal del programa en la primera caja de texto (/usr/local/GMT).

Figura 13. Rutas de instalación de GMT.
Ruta alternativa de directorio compartido GMT
Únicamente si se desea una ruta alternativa para el directorio de datos y recursos de GMT (share) diferente a /usr/local/GMT/share se diligenciara esta caja de texto, esto se debe tener en cuenta para la configuraciín de la variable de entorno GMT_SHAREDIR que se agregaría al final.

Figura 14. Directorio de datos y recursos de GMT.
Ruta alternativa para datos de límites marinos e internacionales
En la sección 2 (figura 8), se habian seleccionado todas las opciones, dado este hecho, se instalarán todos los repositorios de los archivos de límites (resoluciones baja, alta y completa); si se desea que cada uno de estos repositorios queden en directorios diferentes se escogerá la segunda opción y se especificarán cada una de las rutas para estos: /usr/local/GMT/share/coast/, donde equivale a cada repositorio (low, high, full respectivamente).

Figura 15. Directorios de repositorios de límites.
Instalación de paquetes adicionales de GMT
Se podrán instalar paquetes adicionales para funcionalidades específicas (por ejemplo, manejo de datos y simbolos para geodesia) desarrollados para GMT, si se ha seleccionado la opcion 4 en la sección 2 (figura 8). En caso de tener en el sistema software matemático como Matlab u Octave, es recomendable seleccionar el paquete MEX, que brinda una interfaz de intercambio de datos entre GMT y cualquiera de estos.

Figura 16. Paquetes adicionales GMT.
Información adicional para el paquete MEX
Si se tiene instalado Matlab, se debe especificar la ruta raíz del programa en la primera caja de texto, las otras dos entradas son opcionales en caso de que se requiera dar una ruta específica para los archivos de la interfaz MEX.

Figura 17. Rutas para interfaz MEX.
Opciones complementarias
La primera opción habilitará al script para que borre del sistema los archivos descargados de código fuente despues de la instalación, la segunda permite correr los scripts de ejemplo que se encuentran en la página web de GMT.

Figura 18. Opciones complementarias.
Continua...
{mospagebreak title= Pag.4 Ejecución del script de instalación}
Ejecución del Script de instalación
Luego de tener almacenado en el disco el script de instalación y el archivo de parámetros de GMT, se procede a ejecutarlo para comenzar con la descarga del código fuente y los datos necesarios para la instalación, y la compilación e instalación del programa con las opciones que se escogieron en el diligenciamiento del formulario.
Para la ejecución del script, como ya se habia mencionado es conveniente que se acceda al directorio donde estos han sido almacenado, con permisos de superusuario (entornos su ó sudo):
/$ su
ó
/$ sudo
Despues de ingresar al entorno superusuario, el sistema activará la petición de la contraseña. Entrados ya en el ambiente, se debe ingresar al directorio donde se encuentran el script de instalación y el archivo de parámetros y luego se procede a ejecutar ya el comando esperado.
sh install_gmt GMTparam.txt
En primera instancia se obtendrá una salida en la terminal como la siguiente:

Figura 19. Salida inicial de install_gmt.
Terminando el proceso, se podrá ver un mensaje del programa que indica los pasos a seguir para completar la instalación de GMT en el sistema:

Figura 20. Mensaje final de install_gmt.
Tomando nota de las recomendaciones de este último mensaje, actulizaremos las variables de entorno necesarias para comenzar a utilizar GMT:
De esta manera se crearán los enlaces necesarios a las libreriás de netCDF. Finalmente:
export PATH=/usr/local/GMT/bin:$PATH
Así actualizando la variable PATH, que es el principal acceso a la ruta de todos los programas del sistema, se agregará un enlace directo a los modulos de GMT desde la terminal.
Por último solo queda realizar una sencilla prueba, confeccionando un simple mapa con un modulo de GMT.
pscoast -JM-74/4/25c -R-85/-65/-5/15 -Ba10g0/a5g0 -G252/245/227 -S218/240/253
-W0.25p,39/170/234 -N1/0.5p,120/120/120 -Di -A2000 -P --PLOT_DEGREE_FORMAT=ddd:mm:ss
--PAPER_MEDIA=A3 > col.ps

Figura 21. Ejemplo de Salida Cartográfica.
Si al ejecutar el comando se consigue en la terminal un mensaje como el siguiente:
pscoast: error while loading shared libraries: libnetcdf.so.4:
cannot open shared object file: No such file or directory
Quiere decir que durante el proceso de instalación no se construyeron los enlaces necesarios a las librerías de netCDF, y la actualización de la variable de entorno NETCDFHOME, no fué suficiente; esto no es muy común pero si llegase a ocurrir, la creación de un enlace simbólico de netCDF al directorio /lib del sistema lo arreglaría.
ln -s /usr/local/netCDF/lib/libnetcdf.so.4 /lib/libnetcdf.so.4
PATH="$:/usr/local/GMT/bin:"
NETCDFHOME="/usr/local/netCDF"
MANPATH="$:/usr/local/GMT/man:"
Es necesario tener en cuenta que se deben actualizar estas variables para todas las sesiones de usuario, para las que se desea tener acceso a GMT.
Continua...
#----PARAMETROS INICIALES DEL MAPA----
gmtset HEADER_FONT_SIZE 12 ANNOT_FONT_SIZE_PRIMARY 9 BASEMAP_TYPE PLAIN LABEL_FONT_SIZE 7
#Cambiamos algunas opciones por defecto del mapa
#----ARCHIVOS BASE DEL MAPA----
surface topoCol.xyz -GtopoCol.grd -I30c -R280/293/-5/13 -V
#Con el archivo de topografia topoCol.xyz (Archivo ASCII de 3 columnas: Long Lat Hgt)
#se genera el archivo topoCol.grd a un Intervalo de 30 segundos de Arco <-I>
#dentro de las coordenadas especificadas <-R>.
grdgradient topoCol.grd -Gshadow.i -A130/30 -Nt -V
#Generamos con este programa un sombreado para la topografia con la iluminacion
#proveniente desde los angulos (azimutes) 130 y 30 <-A130/30>
#----GENERACION DEL MAPA----
grdimage topoCol.grd -Ctp_col.cpt -Ishadow.i -Jm0.8 -V -P -K > Col.ps
#Agregamos al mapa la superficie (Raster) tomando como base
#la paleta de Colores <-Ctp_col.cpt> y agregandole detalles como el sombreado creado
#anteriormente <-Ishadow.i>. Se imprimiran mensaje detallados del proceso <-V>, la pagina
#en posicion vertical <-P> y no se finaliza aun el archivo <-K>.
psbasemap -R280/293/-5/13 -Jm0.8 -B5 -Lf285/-4/4/500 -P -K -O -V >> Col.ps
#El parametro <-R> muestra la seleccion de la region, la proyeccion es trasnversa de mercator
#<-Jm0.8>, pedimos no sobreescribir el archivo <-O>, las etiquetas del grillado van cada
#5g <-B> y se ha definido una escala grafica de 0 a 500km <-L>.
pscoast -R280/293/-5/13 -Jm0.8 -Dh -W0.5/40/40/120 -N1/0.2/0/0/0 -K -O -V -P >> Col.ps
#Los parametros <-R> <-Jm> <-P> se generan las lineas de costas <-W> con grosor 0.5, en
#color azul <40/40/120> y limites internacionales <-N1> con un grosor de 0.2 y color
#negro <0/0/0>. La resolucion de las lineas costeras y limites internacionales es
#la mas alta <-Dh>.
psscale -D2.05i/-0.3i/10c/0.2ch -Ctp_col.cpt -B:mts: -I -L -P -V -O -K >> Col.ps
#Se genera una leyenda de colores para la topografia; se define su ubicacion y tamano <-D>
#en tanto que el parametro h al final del atributo <-D> especifica la construccion de una
#leyenda en sentido horizontal, se utilizan los mismos colores del mapa <-Ctopo_col.cpt>.
Para ejecutar el script se necesita almacenar las líneas en una archivo de texto, al cual se le añadirá la extensión .sh para especificar el tipo, una vez guardado el archivo bastará con la orden:
sh <archivo>.sh
El resultado será un mapa como el siguiente:

Figura 22. Resultado ejecución de Script.
El paquete que contiene los archivos necesarios para la ejecución de este ejercicio se puede descargar aquí.
Conclusiones
Este manual está orientado a instalar GMT en un sistema GNU/Linux tratando de utilizar las opciones que mas respeten las libertades del usuario, la instalación del programa en un sistema Windows tambien es posible y probablemente más sencilla, aunque esta opción no este tratada en este documento. (Se puede encontrar una referencia sobre la instalación de GMT en Windows en la siguiente dirección: http://es.wikipedia.org/wiki/Ayuda:GMT).
Se ha optado por instalar GMT utilizando el script que han desarrollado los autores del programa, esto garantiza que se obtenga la versión más actual de GMT en nuestro sistema; aunque también es posible instalar GMT por otros medios como es el caso de las herramientas de administración de lo sistema de las diferentes distribuciones de GNU/Linux. Este manual también puede brindar algunas pautas para quienes se inclinen por esta otra alternativa.
Referencias
Wessel, Paul. GMT Installation Helper, Disponible en URL:
http://gmt.soest.hawaii.edu/gmt/gmt_install_form.html.
Uribe, Manuel. Manual Básico GMT, Próximo Blog en GeoTux.
Wikipedia. Taller de confección de mapas con GMT, Disponible en URL:
http://es.wikipedia.org/wiki/Ayuda:GMT.
Beaudette, Dylan. Producing Press-Ready Maps with GRASS and GMT, OSGeo Journal
Vol. 1, May 2007.










Comentarios
Ultimamente necesito utilizar el programa GMT.
Pero yo utilizo Windows y la instalción es muy complicada para mi ya que yo no manejo el lenguaje de las instrucciones y menos si son en inglés. Si alguien puede ayudarme lo agradecería mucho, porque me urge.
Afortunadamente los desarrolladores de GMT ha generado un instalador para Windows mucho más sencillo de usar que el proceso descrito en el enlace citado en la conclusiones de este manual (es.wikipedia.org/wiki/Ayuda:GMT), los instaladores los puedes encontrar en la página gmt.soest.hawaii.edu/gmt/gmt_windows.html.
Recuerda que el archivo GMT_basic_install.exe es obligatorio, y los archivos GSHHS_highfull_install.exe y GMT_pdf_install.exe que contienen la base de datos cartográfica en resoluciones Alta y Completa y la documentación del programa en formato pdf respectivamente, son opcionales.
Te recomiendo instalar estos dos últimos complementos y revisar la documentación, igualmente puedes revisar la sección 5 de este manual (http://geotux.tuxfamily.org/index.php?option=com_content&task=view&id=201&Itemid=59&limit=1&limitstart=4) para familiarizarte en la utilización de GMT, si aún no lo manejas.
Espero te sirva.
Suscripción de noticias RSS para comentarios de esta entrada.