SlackBuild para Quantum GIS 1.8.0 en Slackware 14

He estado trabajando mucho con QGIS últimamente, sin embargo en mi trabajo uso QGIS 1.8.0 (en Windows) y en mi casa QGIS 1.7.4 (en Slackware) por lo tanto pierdo compatibilidad en mis proyectos al pasarlo de una máquina a otra.

Dada esta situación, me di un tiempo para actualizar el QGIS de mi laptop. Lo primero con que me topé fue que no encontré un paquete compilado de la versión 1.8.0 para Slackware y tampoco un SlackBuild. La opción fácil hubiese sido convertir un paquete rpm, o usar la compilación «manual» (make && make install), sin embargo decidí otra aún más fácil que me ayudaría a administrar el paquete nativamente con las herramientas de Slackware: modificar el SlackBuild existente.

Gracias al tipo de licencia en la que se encuentra el script es posible tomar el código como base y modificarlo para obtener lo que uno necesita. Aquí es cuando el verdadero valor del software libre y de fuente abierta es apreciado.

Como no he escrito un SlackBuild, no tengo la experiencia necesaria para hacer uno para Quantum GIS, lo único que he hecho con estos scripts ha sido estudiarlos un poco y por lo tanto se mas o menos como modificarlos.

INICIANDO

Modifiqué el script y lo ejecuté, en mi primer intento obtuve errores como los siguientes:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
SPATIALITE_INCLUDE_DIR
used as include directory in directory /tmp/SBo/qgis-1.8.0/src/plugins/offline_editing
SPATIALITE_LIBRARY`
linked by target "offlineeditingplugin" in directory /tmp/SBo/qgis-1.8.0/src/plugins/offline_editing

-- Configuring incomplete, errors occurred!

Para solucionarlos se necesita instalar dos librerías: libspatialindex y libspatialite. Así que instalé la primera.

# sbopkg -ri libspatialindex

Esto disminuyó el número de errores en la segunda ejecución del SlackBuild y confirmé que instalar las librerías tenia éxito, así que fui con la siguiente. libspatialite que requiere proj, geos (ambos ya instalados) y frexl, así que solo ejecuté sbopkg para instanlar lo que necesitaba.

# sbopkg -i "freexl libspatialite"

Como falló la descarga del código fuente, lo descargué de aqui: http://www.gaia-gis.it/gaia-sins/freexl-sources/ , escogí el archivo que tiene la letra «d» ya que es el que está en el sitio de SlackBuilds.

Extraer el código fuente, ejecutar manualmente el SlackBuild…

$ tar -xvzf freexl.tar.gz

$ cd freexl

# ./freexl.Slackbuild

…y finalmente instalar el paquete:

# installpkg /tmp/freexl-1.0.0d-i486-1_SBo.tgz

Ahora si instalar lo que queríamos.

# sbopkg -i libspatialite

FINALMENTE QGIS

Ya que se instalaron los requerimientos de compilación, descargué el SlackBuild de Quantum GIS del sitio de SlackBuilds, primero tuve que cambiar el número de la versión a 1.8.0, luego comentar/eliminar la parte de la aplicación de un parche para la versión 1.7.4 y cambiar la palabra «CHANGELOG» por «ChangeLog» en el SlackBuild (en las últimas líneas de código).

$ tar -xvjf qgis-1.8.0.tar.bz2

$ cd qgis

# ./qgis.SlackBuild

# installpkg /tmp/qgis-1.8.0-i486-1_eco.tgz

Ejecuté el SlackBuild de QGIS y luego instalé el paquete, esta es la prueba de mi éxito:

qgis18

DESCARGA

Se que tal vez haya pocos interesados en lo mismo que yo, sin embargo, si alguno de ustedes desea usar el SlackBuild modificado, he decidido compartirlo y lo pueden encontrar en: https://github.com/ecoslacker/Slackware-Hacks

Claro que esto solo está probado en mi computadora con Slackware 14 x86 o de 32 bits, úsalo bajo tu propio riesgo pues es la primera cosa que hago por el estilo.

PD: Hay un error que hace que Quantum GIS se cierre al dar click en el menú About o Acerca de, aún no se como solucionarlo pero ando investigando.

Saludos

Dividir linea de capa vectorial en QGIS

Dividir una linea en QGIS es bastante sencillo, lo primero que debemos hacer es cargar el archivo en donde esta nuestra víctima y seleccionarla, para ello tenemos la opción Seleccionar objetos espaciales individuales que se encuentra en la barra de herramientas de Atributos o en el menú Ver > Seleccionar > Seleccionar objetos espaciales individuales y hacer clic con el cursor en la linea.

En mi caso es una linea que representa un canal de una unidad de riego que se encuentra en un shapefile llamado Canales.shp la cual quiero dividir en dos partes.

Seleccionando la línea a cortar

En la imagen anterior se puede ver la línea seleccionada de color amarillo. Y en la imagen siguiente se puede ver la tabla de atributos (sin atributos llenos jeje) de la capa con la línea seleccionada.

Atributos de la linea seleccionada

Para proceder con la división ir al menú Capa > Conmutar edición (con la capa seleccionada) apareceran unas pequeñas cruces sobre las líneas que indican que se está editando, y luego dar en Edición > Dividir objetos espaciales. El cursor cambiará a un circulo con una cruz.

Herramienta para dividir objetos espaciales.

Colocarse con el cursor cerca del punto en el que se desea dividir la línea y dar clic a un lado de la línea y se marcará un punto de inicio de una linea roja, con esta linea roja cruzar la que deseamos cortar y estando del otro lado con el cursor dar clic derecho. Si se tiene activado el autoensamblado hay que deshabilitarlo para que no cause problemas.

Dividiendo una linea.

Solo resta guardar la edición y listo con esto ya tendremos dos lineas separadas a partir de una, en una capa vectorial.

Linea dividida en dos.

En la tabla de atributos encontraremos dos elementos con las mismas características después de hacer la división.

Atributos de las nuevas lineas.

Solo resta llenar la tabla con los atributos correctos, usando para ello la opción de Conmutar edición en la capa.

Keep working.

Importar archivo KML en QGIS (como SHP)

Para importar un acrchivo KML creado por  GoogleEarth a QGIS hay que hacer unos trucos muy sencillos, dependiendo de lo que se desee hacer, en este ejemplo muestro como yo lo hago, para ello estoy usando QGIS 1.7.4 Wroclaw con GRASS 6.4 en Slackware Linux 14.0 instalados desde SlackBuilds con todas las dependencias.

Primero se crea el archivo desde GoogleEarth, en mi caso es un archivo de rutas (canales) digitalizadas y guardadas como KML desde el mismo programa. Es importante mencionar que puede haber problemas con el archivo generado por GoogleEarth si la versión de la aplicación es muy vieja por lo que se recomienda usar una versión reciente.

Digitalizando en GoogleEarth

Además hay que asegurarse de guardar el archivo en formato KML, pues por omisión el programa lo guardará en un KMZ, éste último no es más que un archivo KML comprimido por lo tanto con descomprimirlo bastará para tener un KML que regularmente se llama doc.kml. En Windows puede que sea necesario cambiar la extensión del archivo por ZIP (o alguna otra) antes de realizar la descompresión. En Linux hay muchas herramientas para realizar esto, por mi parte elegí hacerlo con Ark de KDE (incluye unrar y p7zip):

Extraer archivo KMZ

Ya que se tiene este archivo se puede agregar directamente el KML mediante el menú de QGIS Capa > Añadir capa vectorial y seleccionando en la ventana el filtro para Keyhole Markup Language [KML] [OGR].

Abrir KML

Otra forma de agregar los datos es haciendo una conversión de KML a SHP. ¿Por qué? bueno por cuestiones de edición, para mí es más fácil y cómodo editar un shapefile y los KML son más bien para visualizar información, además un SHP es el estándar de facto para representar vectoriales así que bien puedo manejar mis datos en diferentes programas y sistemas operativos.

Para hacer la conversión basta hacer en el terminal:

$ ogr2ogr -f 'ESRI Shapefile' Canales.shp doc.kml

Conversion de KML a SHP

Ahora si se puede agregar y editar la capa más cómodamente.

Datos en QGIS

NOTA: Al parecer QGIS es capaz de reconocer archivos KMZ de manera automática siempre y cuando se tenga soporte para el Google LIBKML en GDAL (1.9). Si se tiene entonces al importar una capa solo hay que seleccionar Todos los archivos (*) y abrir el KMZ. Si no se tiene saldrá un error. Para checar si se tiene este soporte (creo que debería poderse agregar durante la compilación, la verdad lo ignoro) en la consola de Python de QGIS ejecutar:

import osgeo.ogr
print 'Has LIBKML ogr driver: ' + str(osgeo.ogr.GetDriverByName('LIBKML') is not None)

Fuentes:

Hilo en stackexchange

Usar partición de Windows en VirtualBox

Por las razones que sea a veces es necesario usar un dual boot, en mi caso después de unos años usando solo Slackware y una máquina virtual de Windows XP me ví en la necesidad de instalar Windows 7 por cuestiones de rendimiento del equipo y falta de recursos para una memoria RAM.

Con los sencillos pasos siguientes se puede ejecutar la partición de Windows de nuestro dual boot como si fuera una máquina virtual, sin la necesidad de tener que reiniciar para buscar «ese archivo» o ejecutar «esa aplicación». Además ahorra tener que estar instalando todo el software de Windows una maquina virtual.

OPCIÓN 1

Teniendo instalado el VirtualBox en Slackware (instalado con el binario .run), se ejecuta con permisos de root la instrucción:

# VBoxManage internalcommands createrawvmdk -filename /home/eduardo/.VirtualBox/win7.vmdk -rawdisk /dev/sda -relative

Con ello se crea una nueva unidad vmdk de virtualbox y se enlaza al disco duro sda. El nombre «win7» es opcional y puede cambiarse. Para que un usuario normal pueda acceder a dicha unidad hay que darle los permisos correctos.

# chmod 666 /home/eduardo/.VirtualBox/win7.vmdk

OPCIÓN 2

En recientes versiones el método anterior me da un error de permisos que por alguna extraña razón (noob) no se presentaba antes, el error consiste en:

Permission problem accessing the file for the medium '/home/eduardo/.VirtualBox/win7.vmdk' (VERR_ACCESS_DENIED)

Lo que significa que como usuario normal no se puede acceder al disco duro creado, solo root puede. Sin embargo se soluciona de la siguiente manera, primero hay que colocar a nuestro usuario en el grupo disk:

# usermod -a -G disk eduardo

Luego cerrar sesión y volver a entrar, y como usuario normal ya se tienen privilegios para crear el disco duro:

$ VBoxManage internalcommands createrawvmdk -filename /home/eduardo/.VirtualBox/win7.vmdk -rawdisk /dev/sda -relative

Eso es todo.

Mi carpeta de usuario es eduardo, tienes que cambiar esa parte por el nombre de la tuya. Ahora en VirtualBox se crea una nueva máquina virtual y cuando pida crear un nuevo disco duro hay que seleccionar el creado anteriormente en el directorio /home/eduardo/.VirtualBox/win7.vmdk.

Nueva maquina virtual

Disco virtual

En esta ventana elegir la opción Usar disco duro existente y dar clic en el botón para explorar el sistema de archivos y elegir el disco duro.

Ver archivos ocultos

Elegir disco de Windows

Crear máquina

Listo, ahora al iniciar la máquina virtual aparecerá el mismo menú de LILO que pide seleccionar el sistema operativo (pues en realidad se está arrancando desde el disco duro). Es importante seleccionar Windows pues ejecutar Slackware desde Slackware, la verdad no se que consecuencias pueda tener pero no creo que sean muy buenas. Lo que si hay que instalar son los GuessAdittions para que reconozca el tamaño de pantalla y la integración del ratón, sin embargo la configuración al bootear desde Windows normalmente no se ve afectada.

Menú de LILO

Y este es el maldito programa que uso en el trabajo que me obliga a tener que reiniciar en Windows para usarlo al procesar algo pesado y ocupar todos los recursos de la máquina, y me obliga a usar la máquina virtual para consultas rápidas y visualización de los mapas ya elaborados. Usar QGIS ha sido una opción viable pero «el trabajo en equipo» me limita por ahora pues los famosos MXD no son estándar, en fin…

Partición de Windows en VBox

Saludos Slackers.

Crear shape de lineas a partir de puntos en QuantumGIS

En la entrada pasada puse una forma de meter puntos desde un archivo de texto delimitado en QuantumGIS, ahora en complemento pongo el ejemplo de como hice una capa vectorial de lineas en formato shapefile a partir de los puntos existentes tomándolos como vértices. Una vez importados los puntos se tiene algo como esto:

Puntos base

Puntos base para archivo shape de lineas

Ahora lo que hay que hacer es crear la nueva capa vectorial de lineas, para ello se sigue la siguiente ruta en el menú:

Crear nueva capa shape

Crear nueva capa shape

Y aparece una ventana como la siguiente:

Propiedades del nuevo shape

Propiedades del nuevo shape

Hasta arriba hay que indicar que Tipo se shape se desea, en mi caso seleccione Línea y se nos permite crear los atributos para la Tabla de atributos de la nueva capa, solo hay que poner el nombre del atributo y en Tipo hay que seleccionar si será de texto, números enteros o decimales; en cualquier caso hay que poner la anchura y/o precisión que se necesite tener. Con ello ya se tiene la nueva capa vectorial creada.

Abrir la nueva capa, y asegurarse de que se tiene activa la barra de herramientas de digitalización, sino se tiene activada hay que dar clic derecho en una parte de la barra de herramientas vacía y marcar la opción Digitalización.

Mostrar la barra de digitalización

Mostrar la barra de digitalización

Una vez que se ha marcado la opción aparece la barra de herramientas de digitalización.

Barra de digitalización

Barra de digitalización

Para empezar a editar hay que marcar en el primer icono azul, que se llama Conmutar edición y que parece un plumón azul, para ello hay que asegurarse de tener seleccionada la capa correcta que se desea editar. Cuando se da clic en este icono se observa que algunos de los otros iconos se activan también. Este procedimiento es el equivalente a hacer Start / Stop editing en ArcView y ArcGIS, sin embargo me resultó más sencillo hacerlo en QGIS pues solo se edita la capa que se tiene seleccionada. Para guardar los cambios hechos en la edición se tiene el icono de al lado, que está representado con la típica imagen para guardar. Hay que tener cuidado de no confundir con el otro icono para guardar el proyecto.

Barra de digitalización activada

Barra de digitalización activada

Dado que el trabajo consiste en hacer lineas tomando como vertices los puntos existentes en otra capa, es altamente probable de que si se crean lineas «a ojo» no con el ratón no se marque exactamente el punto sino un lugar visiblemente cercano. Para evitar eso en ArcGIS se usa la herramienta Snapping en la que se seleccionan las capas que sirven de guía. En QGIS se tiene una herramienta que cumple la misma función y se llama Autoensamblado, para activarla hay que ir al menú Configuración > Opciones de autoensamblado:

Opciones de autoensamblado

Opciones de autoensamblado

Se abre una ventana como la siguiente en la que hay que marcar la capa que servirá como guía de autoensamblado (o snapping como se llama la herramienta en ArcGIS) esto en la primera columna, en la segunda columna llamada Modo hay que seleccionar hacia que se desea hacer el autoensamblado las opciones son: vértice, segmento o ambos. La tolerancia de la tercera columna, es la exactitud que se aceptará para hacer clic cerca del punto y que éste se seleccione automáticamente. En el caso de mi imagen si yo doy clic alrededor del punto dentro de una circunferencia de hasta tres unidades (también se pueden elegir pixeles) de radio, el programa toma exactamente las coordenadas del punto más cercano y se posiciona sobre dicho punto.

Ventana de opciones de autoensamblado

Ventana de opciones de autoensamblado

Ya que se ha configurado el autoensamblado, se procede a crear las líneas que van a componer el shape y para ello se utiliza la opción de Añadir linea la cual es el tercer icono de la barra de herramientas de digitalización.

Añadir linea

Añadir linea

Para la creación de las líneas simplemente hay que acercar el cursor al primer punto que será el inicio de la primera línea, al acercar el cursor al punto y dependiendo de la tolerancia que se le haya puesto al autoensamblado el cursor será «jalado» hasta las coordenadas exactas del punto más cercano. Para usar el punto se hace clic e inmediatamente se forma una linea desde ese punto hasta el cursor en movimiento y para completarla hay que seleccionar otro punto de la misma forma.

Dibujar lineas

Dibujar lineas

Finalmente se pueden ir creando varias lineas finalizando cada una con un doble clic y colocando un identificador y los atributos que se hayan agregado al inicio del proceso en la ventana que aparece.

Shape de lineas finalmente creado

Shape de lineas finalmente creado

Conclusión

El autoensamblado es una función muy útil para cuando se necesita tener exactitud en la creación de líneas que coincidan con ciertos vértices o puntos, para hacer un shape con base en un conjunto de puntos es necesario tener activada y correctamente configurada ésta función. Es muy usada por ejemplo para trazar un camino o ruta, límites de un terreno, un recorrido … etcétera, a partir de un conjunto de puntos tomados, por ejemplo con GPS.

Importar coordenadas x,y en QuantumGIS

Hasta ahora he trabajado poco con QuantumGIS (o QGIS), sin embargo cada vez que lo abro para hacer cualquier cosa por más sencilla que esta sea, siento que de verdad disfruto aprender a usarlo por el entorno tan amigable que ofrece y es por eso que no me dan ni un poquito de ganas de regresar a las aplicaciones privativas que usaba antes.

En esta entrada les presento una forma muy sencilla de importar coordenadas X,Y en un archivo de texto delimitado. Las coordenadas de mi ejemplo son UTM para la Zona 14 de México, en el estado de Michoacán, tomadas con un GPS Garmin en campo las cuales me enviaron en un archivo de hoja de cálculo en formato xlsx por correo electrónico.

Importando coordenadas XY

Primero hay que dar el formato necesario de tres columnas. En la primera se escribe el nombre de los puntos da cada par de coordenadas. En la segunda columna se colocan las coordenadas en X y en la tercera se colocan las correspondientes a Y. En la primera fila se pueden colocar títulos como «Nombre», «X» y «Y» para identificar correctamente a las tres columnas, es importante no dejar filas vacías.

Coordenadas X,Y

Coordenadas X,Y

Ya que se ha dado el formato correcto en la hoja de cálculo hay que guardar el archivo como Texto CVS para que automáticamente se obtenga un archivo de texto plano en el que los datos de cada una de las tres columnas esté separado por comas. Listo con ello ya se tiene el archivo preparado.

Ahora hay que abrir QuantumGIS y activar el complemento para importar texto delimitado, haciendo clic en el menú Complementos > Administrar complementos y en la ventana que se abre marcar la opción Añadir capa de texto delimitado, como se muestra en la figura.

Añadir capa de texto delimitado

Añadir capa de texto delimitado

Ya que se tiene activado el complemento, hay que buscar el mismo icono azul en la barra de herramientas para utilizarlo.

Icono del complemento

Icono del complemento

A continuación se abre una ventana en la que hay que buscar el archivo dando clic en Explorar… y llendo hasta donde éste se encuentre, hay que dar también un nombre a la capa que se agregará en QGIS y, si el archivo es CVS, seleccionar la opción Delimitadores seleccionados y marcar Coma, si se desea se pueden marcar más de una opción. En la parte baja de la ventana se mostrará una vista previa de las modificaciones que se hagan.

Importando el archivo de texto delimitado

Importando el archivo de texto delimitado

Finalmente los puntos aparecen dentro del QGIS como una nueva capa a la que pueden hacerse varias operaciones como por ejemplo ver su tabla de atributos dando clic en el icono correcto en la barra de herramientas.

Capa de puntos agregada y su tabla de atributos

Capa de puntos agregada y su tabla de atributos

Los datos se pueden exportar en varios formatos disponibles, si se desea por ejemplo exportar en formato shapefile solo hay que dar clic derecho en el nombre del layer mostrado en la parte de Capas del QGIS y seleccionar Guardar como…, luego en la ventana que aparece seleccionar el formato que para el ejemplo es Shape de ESRI y la ruta, luego escribir el nombre con el que se desea guardar el archivo y dar en Aceptar. Aparecerá un mensaje de confirmación cuando se haya terminado de guardar.

Guardando el archivo vectorial

Guardando el archivo vectorial

Una vez exportados e puede agregar la capa shape para verla en conjunto con los puntos agregados. Se puede notar que no hay diferencia alguna en cuanto a lo que ambas representan.

Capa vectorial shape agregada.

Capa vectorial shape agregada.

Saludos.

Instalando GRASS y QuantumGIS en Arch Linux

Bueno una de las razones por las que decidí dejar Slackware y usar una distribución que tuviera resolución de paquetes al momento de instalar aplicaciones fue por que frecuentemente tenía que estar instalando aplicaciones «robustas» atascadas de dependencias, muchas opcionales pero útiles al final, como GRASS y QuantumGIS (QGIS). Hace unas semanas instalé ambas aplicaciones en ArchLinux y el proceso fue sorprendentemente rápido para mi.

Primero hay que instalar GRASS puesto que yo lo utilizo como un complemento de QuantumGIS por medio del plugin grass-qgis. Para instalar GRASS solo hay que utilizar pacman de la manera siguiente:

# pacman -S grass

Lo cual instalará la versión 6.4 de GRASS.

GRASS instalado en GNU/Linux

GRASS instalado en GNU/Linux

Para QuantumGIS se utliza yaourt puesto que los repositorios están en AUR, pero antes hay que resolver el problema de una dependencia llamada qwt ya que QGIS funciona con la versión 5 y en mi sistema está la versión 6.
Primero eliminar la versión instalada:

# pacman -Rn qwt

Descargar el tarball de aquí dando clic en el link “tarball” y guardándolo, el archivo se llamará qwt5.tar.gz luego hay que descomprimirlo y se crea una carpeta llamada qwt5, esto creará dos archivos dentro de la carpeta y digamos que esos solo son archivos de configuración (ignoro su nombre correcto) lo que significa que no son las fuentes del programa. Entonces hay que descargar las fuentes del programa las cuales vienen en un archivo llamado qwt-5.2.2.tar.bz2, yo las encontré en este sitio, aunque puede que haya otros más convenientes.

Copiar el tarball con las fuentes (el archivo llamado qwt-5.2.2.tar.bz2) al directorio qtw5 creado y se tendrán tres archivos:

PKGBUILD
qwtconfigarchlinux.pri
qwt-5.2.2.tar.bz2

Abrir el terminal y llegar hasta ese directorio con el comando “cd”, en mi caso es así:

$ cd /home/eduardo/descargas/qwt5

Luego ejecutar:

$ makepkg -s

Lo cual creará un archivo con extensión pkg.tar.xz que hay que instalar:

$ sudo pacman -U qwt5-5.2.2-1-i686.pkg.tar.xz

Una vez hecho esto se procede con la instalación de qgis:

$ yaourt -S qgis

QuantumGIS instalado en ArchLinux

QuantumGIS instalado en ArchLinux

Listo ya se tiene instalado QuantumGIS en nuestro sistema.
Un saludo.

Renovando GRASS 6.4 y QGIS 1.7

Bueno, anteriormente ya había escrito algunas entradas de como instalar GRASS 6.4 y QGIS 1.6, y que traté de instalar ambos para usar GRASS con el GUI de QuantumGIS ya que es más amigable y esto me sirve a mi para difundir el uso de Linux en mi universidad donde trabajo. La situación es que los profesores estan completamente acostumbrados al uso de programas como AutoCAD, ArcView, ArcGIS y por supuesto MS Office y Windows, algo gracioso es que las maquinas de los laboratotios de cómputo siempre están llenas de virus y tienen que estar formateando a cada rato, incluso los cursos de programación son con Delphi. Lo anterior no es malo, yo recibí esa preparación durante mi carrera y gracias a ello tengo trabajo, pero mi misión es compartir y dar a conocer entre mis compañeros de trabajo, con alumnos y profesores que existen alternativas a ese tipo de software y ser parte del pequeño grupo de profesores y alumnos del departamento que usan Linux (principalmente Ubuntu) y demás software libre como OpenOffice.org o LibreOffice, de mi parte espero poder difundir el uso de programas tipo CAD en general, QGIS, GRASS y programación en Python. Ok, después de todo el panorama general voy al grano.

Resulta que hace tiempo por razones que aún no puedo entender debido a mis pocos conocimientos en Linux, la aplicación de GRASS dejó de funcionar en mi sistema y no supe como resolver el problema, así que me volví a instalar todo desde cero.

Para activar el uso de GRASS en QGIS por medio del respectivo plugin, tuve que realizar lo siguiente aunque no se si sea exactamente lo que se requiere pero a mi me funcionó (jeje):

La instalación de GRASS la realicé como en mi post anterior y después ejecuté lo siguiente como root, para hacer que las librerías de GRASS queden disponibles para todo el sistema:

# echo /opt/grass/lib >> /etc/ld.so.conf && ldconfig

GRASS 6.4

Ahora viene la instalación de QGIS, la cual realicé como en éste otro post pero descargando los paquetes para la versión 1.7 de SlackBuilds.org. Antes de ejecutar el SlackBuild lo abrí con un editor de texto y lo modifiqué remplazando la siguiente línea:

WITHGRASS=""

por esta:

WITHGRASS="/opt"

Para que el paquete sea creado con GRASS habilitado, /opt es el directorio en donde yo instalé la aplicación GRASS si tú lo instalaste en otro directorio como por ejemplo /usr entonces hay que poner WITHGRASS="/usr" o el directorio que corresponda. Luego hay que ejecutar el SlackBuild e instalar la aplicación con el comando installpkg cuando se haya creado el paquete.

QGIS 1.7 con GRASS plugin

Saludos

Instalar Quantum GIS en slackware

Ahora me dispuse a instalar Quantum GIS para tener un ambiente mas amigable que el ofrecido por GRASS al hacer mis proyectos. La instalación la realicé con los SlackBuilds que se encuentran en el sitio de http://slackbuilds.org/repository/13.37/academic/qgis/, primero verifiqué que mi sistema tuviera todos los requerimientos que pide:

qgis (1.6.0)

Quantum GIS (QGIS) es un Sistema de Información Geográfica que corre en Linux, Unix, Mac OSX y Windows. QGIS permite visualizar y crear datos geográficos en la computadora. Soporta muchos de los formatos de datos espaciales (como ESRI ShapeFile, geotiff).

Requiere

  • proj (Instalado con GRASS)
  • geos (Instalado con GRASS)
  • gdal (Instalado con GRASS)
  • gsl
  • numpy (Instalado con GRASS)
  • qwt

Las dependencias opcionales son:

  • grass (Instalado)
  • postgresql (Instalado con GRASS)
  • postgis
  • gpsbabel

Ya que algunas de las dependencias se encuentran instaladas procede instalar las faltantes:

gsl (1.15)

La librería científica GNU (GNU Scientific Library o GSL) es una librería numérica para programadores C y C++. Es software libre bajo la GNU General Public License.
La librería proporciona un amplio rango de rutinas matemáticas tales como generadores numéricos aleatorios, funciones especiales entre otras. Hay cerca de 1000 funciones en total con un extenso catálogo de prueba.

Para instalarlo, extraer el archivo gsl.tar.gz con Ark en una nueva carpeta haciendo click derecho y seleccionar la opción «Extraer el archivo comprimido aquí, autodetectar carpeta», una vez que se ha finalizado la extracción copiar el archivo con las fuentes del programa gsl-1.15.tar.gz y el otro con extensión asc llamado gsl.tar.gz.asc a la nueva carpeta, entrar y estando dentro de la misma ejecutar desde el terminal:

# ./gsl.SlackBuild

Terminado esto, realizar la instalación del paquete:

# installpkg /tmp/gsl-1.15-i486-1_SBo.tgz

qwt (5.1.1)

Qwt es una extensión para la librería Qt GUI de Troll Tech AS. La librería Qwt contiene widgets y componentes que son primariamente usados para propósitos técnicos y científicos. Incluye un widget de dibujo en 2-D, diferentes clases de deslizadores y mucho más.

Para instalarlo, seguí practicamente el mismo procedimeinto que para gsl que consistió en extraer el archivo qwt.tar.gz con Ark en una nueva carpeta haciendo click derecho y seleccionar la opción «Extraer el archivo comprimido aquí, autodetectar carpeta», una vez que se ha finalizado la extracción copiar el archivo con las fuentes del programa qwt-5.1.1.tar.bz2 y el otro con extensión asc llamado qwt.tar.gz.asc a la nueva carpeta, entrar y estando dentro de la misma ejecutar desde el terminal:

# ./qwt.SlackBuild

Terminado esto, realizar la instalación del paquete:

# installpkg /tmp/qwt-5.1.1-i486-3_SBo.tgz

postgis (1.5.2)

PostGIS agrega soporte para objetos geográficos a la base de datos de PostgreSQL. En efecto, PostGIS «habilita espacialmente» al servidor PostgreSQL, permitiéndole ser usado como un base de datos espacial para sistemas de información geográfica (SIG), tanto como la SDE de ESRI o la extensión espacial de Oracle.

PostGIS requiere PostgreSQL, proj y geos, los cuales ya se han instalado.
El procedimeinto que para instalar postgis con los SlackBuilds es realmente sencillo y prácticamente el mismo que los anteriores, primero extraer el archivo postgis.tar.gz con Ark en una nueva carpeta haciendo click derecho y seleccionar la opción «Extraer el archivo comprimido aquí, autodetectar carpeta», una vez que se ha finalizado la extracción copiar el archivo con las fuentes del programa postgis-1.5.2.tar.gz y el otro con extensión asc llamado postgis.tar.gz.asc a la nueva carpeta, entrar y estando dentro de la misma ejecutar desde el terminal:

# ./postgis.SlackBuild

Terminado esto, realizar la instalación del paquete:

# installpkg /tmp/postgis-1.5.2-i486-1_SBo.tgz

gpsbabel (1.3.3)

GPSBabel convierte waypoints, tracks, y rutas de un formato a otro, si ese formato es un formato de mapeo común como Delorme, Streets y Trips, o incluso de un receptor serial o USB para cargar o descargar datos de un dispositivo GPS como los de Garmin y Magellan. Igual que en la Torre de Babel, con los autores de varios programas que se nos han impuesto para manipular datos GPS, nos regresa la habilidad de mover libremente nuestros propios datos de waypoints entre los programas y el hardware que elijamos.
No convierte, transfiere, envía, o manipula mapas. Procesa datos que pueden (o no) colocarse en mapas, tales como waypoints, tracks, y rutas.

El procedimiento para instalarlo es practicamente el mismo, solo que tuve la dificultad de no encontrar las fuentes en el sitio de SlackBuilds así que las descargué de:

http://www.gpsbabel.org/download.html

Y para instalarlo hubo que modificar SlackBuild y configurarlo para la versión nueva 1.4.2 (la más reciente al momento), abriendolo con Kwrite (o cualquier otro editor)  buscar la siguiente línea y cambiar el 1.3.3 por 1.4.2:

PRGNAM=gpsbabel
VERSION=1.4.2
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

Guardar y ejecutarlo desde el terminal:

# ./gpsbabel.SlackBuild

Terminado esto, realizar la instalación del paquete:

# installpkg /tmp/gpsbabel-1.4.2-i486-1_SBo.tgz

Ya que se tienen instaladas todas las dependencias descargar el SlackBuild y las fuentes, crear el paquete extrayendo el archivo qgis.tar.gz con Ark y ejecutando el script desde la carpeta que se crea para después instalar el paquete.

En el terminal se crea el paquete:

# ./qgis.SlackBuild

Y después se instala:

# installpkg /tmp/qgis-1.6.0-i486-1_SBo.tgz

Ahora ya se tiene instalado, Quantum GIS. Resta abrirlo y activar todos los plugins con lo cual se tendría una vista como la mía:

Instalar GRASS en Slackware

Ya teniendo listo GoogleEarth corriendo en Slackware un paquete importante para el procesamiento de imágenes, generación de mapas y manejo de sistemas de información geográfica (SIG) en general es GRASS, que en mi opinión es de las mejores opciones para SIG en ambientes Linux. Ya teniendo instalado GRASS me podré ir separando de ArcGIS como mi principal plataforma de trabajo, aunque se que no funcinan exactamente igual es una muy buena alternativa.

Para instalar GRASS lo primero es descargar el paquete de http://slackbuilds.org/repository/13.37/academic/grass/ en donde se puede ver que primero hay que tener instalados los siguientes paquetes:

  • proj
  • gdal
  • numpy
  • wxPython

Y opcionalmente se pueden activar:

  • blas
  • lapack
  • geos
  • ffmpeg
  • mysql
  • postgresql
  • sqlite

Así que hay que instalar las dependencias primero, por suerte… ¡ya tengo wxPython instalado!.

Instalando proj

proj es una función de filtrado estándar de UNIX la cual convierte coordenadas geográficas de longitud y latitud en coordenadas cartesianas por medio de una amplia variedad de funciones cartográficas de proyección.

Primero se descarga proj de http://slackbuilds.org/repository/13.37/system/proj/ y se instala el SlackBuild, primero de extrae y se mueven las fuentes a la carpeta creada:
$ tar -xvzf proj.tar.gz
proj/
proj/proj.SlackBuild
proj/README
proj/slack-desc
proj/proj.info
$ mv proj-4.6.0.tar.gz proj
$ mv proj.tar.gz proj
$ mv proj.tar.gz.asc proj

Y entrar al directorio creado para ejecutar el SlackBuild y finalmente instalar el paquete:
# ./proj.SlackBuild
# installpkg /tmp/proj-4.6.0-i486-1_SBo.tgz

Y ya se tiene proj instalado.
Ahora seguir con gdal…

Instalar gdal

GDAL es una librería para leer y escribir datos geoespaciales en formatos raster, y se distribuye bajo una licencia estilo Open Source X / MIT por la Open Source Geospatial Foundation.
Se descarga de http://slackbuilds.org/repository/13.37/libraries/gdal/.
Luego se extrae gdal, copiar las fuentes dentro de la carpeta creada y entrar a la carpeta, estando dentro se ejecuta el SlackBuild y se instala el paquete tgz:

$ tar -xvzf gdal.tar.gz
$ cd gdal/
# ./gdal.SlackBuild
# installpkg /tmp/gdal-1.8.0-i486-1_SBo.tgz

Instalar numpy

Para instalar numpy se descarga el paquete de http://slackbuilds.org/repository/13.37/development/numpy/ y se ejecutan los comandos siguientes para descomprimir y ejecutar el SlackBuild y finalmente instalar el paquete tgz.

$ tar -xvzf numpy.tar.gz
# ./numpy.SlackBuild
# installpkg /tmp/numpy-1.4.1-i486-1_SBo.tgz

No tuve la necesidad de instalar wxPython puesto que lo había instalado anteriormente. Finalmente ya que se tienen instalados los requerimientos necesarios, me di a la tarea de instalar también las dependencias opcionales:

Instalar blas

Hay que hacer lo siguiente para instalar blas.

$ tar -xvzf blas.tar.gz
Mover las fuentes al nuevo directorio, entrar y ejecutar el SlackBuild
# ./blas.SlackBuild
# installpkg /tmp/blas-20110419-i486-1_SBo.tgz

Instalar lapack

Hay que hacer lo siguiente para instalar lapack.

$ tar -xvzf lapack.tar.gz
Mover las fuentes al nuevo directorio, entrar y ejecutar el SlackBuild
# ./lapack.SlackBuild
# installpkg /tmp/lapack-3.3.1-i486-1_SBo.tgz

Instalar geos

Hay que hacer lo siguiente para instalar geos.

$ tar -xvzf geos.tar.gz
Mover las fuentes al nuevo directorio, entrar y ejecutar el SlackBuild
# ./geos.SlackBuild
# installpkg /tmp/geos-3.2.2-i486-1_SBo.tgz

Instalar postgresql

Hay que hacer lo siguiente para instalar postgresql. Primero agregar un grupo y un usuario para poder ejecutarlo:

groupadd -g 209 postgres
useradd -u 209 -g 209 -d /var/lib/pgsql postgres

Luego proceder con la instalación:
$ tar -xvzf postgresql.tar.gz
Mover las fuentes al nuevo directorio, entrar y ejecutar el SlackBuild
# ./postgresql.SlackBuild
# installpkg /tmp/postgresql-9.0.3-i486-1_SBo.tgz

Instalar sqlite2

Hay que hacer lo siguiente para instalar sqlite2.

$ tar -xvzf sqlite2.tar.gz
Mover las fuentes al nuevo directorio, entrar y ejecutar el SlackBuild
# ./sqlite2.SlackBuild
# installpkg /tmp/sqlite2-2.8.17_6-i486-1_SBo.tgz

FINALMENTE GRASS
Finalmente instalar GRASS
$ tar -xvzf grass.tar.gz

Después hay que mover las fuentes al directorio creado y entrar al mismo, para después ejecutar el SlackBuild activando las opciones como se muestra:
# ENABLE="blas,lapack,geos,mysql,postgresql,sqlite" ./grass.SlackBuild

Cuando se ha creado el tgz hay que instalarlo con installpkg desde el directorio tmp y ya se tiene el GRASS listo para trabajar.