You are here:GeoTux»Geo-Blogs»Librerías para Geomática»Guía de instalación de GMT en un sistema GNU/Linux

Estadísticas

Invitados: 45
Usuarios registrados: 3145
Usuarios en línea:
-
Registrados hoy:
-

Registro

Redifusión (RSS)

Blogs y Noticias:
Recibe las actualizaciones en Geo-Noticias y Geo-Blogs

Recibir por e-mail
Recibir Geo-Noticias y Geo-Blogs por e-mail

¿Qué es esto?

En Twitter

Lunes 18 de Mayo de 2009 05:02

Guía de instalación de GMT en un sistema GNU/Linux

Written by  Remy Alexander Galán Navarro
Rate this item
(0 votes)

Basándome en el Script de instalación que los autores de GMT Paul Wessel y Walter Smith desarrollaron, me dí a la tarea  de elaborar una guia para poder facilitar el proceso de instalación de este maravilloso programa.

 

 

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:

 

ps2pdf <entrada>.ps <salida>.pdf
Donde <entrada> es el nombre del archivo PostScript y <salida> es el nombre del archivo PDF. Por otro lado la generación de salidas en PostScript Encapsulado (EPS), es una buena opción si se desean publicar mapas en LaTeX, ya que estos archivos son fáciles de incluir como figuras en una publicación de este tipo.
Figura 3. Formatos de Salida Gráfica.
Bloqueo de Archivos de Configuración
Cuando se crea un mapa con GMT, es posible que se utilicen mas de un programa para generar una sola salida; es decir, que es un proceso generado por etápas, primero se agregan los límites de la región, luego se agrega la información temática, luego datos físicos en formato raster como la topografía, luego la escala gráfica, etc.; todos esos elementos en el mapa se agregan con un programa diferente del paquete GMT. Para lograr la armonía entre los diferentes programas, en el directorio en que se esté creando el mapa, se generará también un archivo oculto (.gmtcommands) en donde se guarda la información en órden cronológico, de los programas y los datos utilizados; para evitar que esta información se actualizada por mas de un programa al tiempo, es necesario activar el bloqueo de archivos, que es una opción caracteristica de los sistemas POSIX (SO Basados en UNIX), pero esta opción apareció en GNU/LINUX desde su versión 2.4 de kernel, por tanto si se desea instalar GMT en una versión anterior, es imprescindible deshabilitar el bloqueo de archivos.
Figura 4. Habilitar / Deshabilitar Bloqueo de Archivos.

 

 

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:

export NETCDFHOME=/usr/local/netCDF

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

 

 

Si todo funciona bien, obtendrémos un mapa de esta forma:

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

 

 

La actualización de las variables de entorno con el comando export, crea una definición especifica para la sesión activa, para tener siempre actualizada la definición de las variables es necesario editar el fichero /home/<usuario>/.bashrc (<usuario> hace referencia al nombre con el que se inicia la sesión.) de la siguiente manera:

 

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...

{mospagebreak title= Pag.5 Creación de mapas por medio de Scripts}
ANEXO. CREACIÓN DE MAPAS POR MEDIO DE SCRIPTS
Como una opción sencilla y más automatizada para crear salidas cartográficas con GMT, se puede optar por la composición de Scripts con ordenes pre establecidas y los respectivos parametros que confeccionarán el mapa. El siguiente es un ejemplo que puede ser un punto de partida para la creación de scripts.


#----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.

 

 

Last modified on Jueves 29 de Septiembre de 2011 03:57

Comentarios  

 
0 # xtomanuel 12-09-2009 19:50
Hola amigos, quiero agradecer al diseñador que ha desarrollado este manual. me ha servido un monton!!! un saludo desde el Peru y nos vemos pronto!!!
Responder | Responder con una citación | Citar
 
 
0 # Ayuda con GMTMely 10-03-2010 01:44
Hola.
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.
:cry:
Responder | Responder con una citación | Citar
 
 
0 # Instalación GMT Windowsremyalex 10-03-2010 18:52
Hola Mely.
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. :-)
Responder | Responder con una citación | Citar
 
 
0 # Saludos.zapoteska 16-06-2012 20:26
Excelente página para la instalación de GMT en un sistema GNU/Linux. Lo he instalado en opensuse, sin ninguna dificultad gracias a las recomendaciones que aquí se dan.
Responder | Responder con una citación | Citar
 

Escribir un comentario


Código de seguridad
Refescar

 

¿Dónde nos leen?

Últimos comentarios