domingo, 3 de mayo de 2009

GPS y mapas, desde Kubuntu.

Este post es realmente un sitio donde voy a ir poniendo en limpio las cosas que voy teniendo claras sobre las distintas cosas que voy aprendiendo sobre la utilización del GPS y los programas de mapas. Hay muchas cosas, programas muy caros y otros gratuitos, pero la información que uno encuentra no es clara (a veces falsa) y sólo se puede ir avanzando por ensayo y error. Aquí por lo menos iré contando las cosas que he probado que funcionan y que no funcionan.

Antes de empezar. Yo trabajo en Kubuntu, y no me importa utilizar aplicaciones de windows con wine (prefiero no tener que instalar windows en virtualbox porque el mantenimiento de actualizaciones y antivirus es una pesadez).

Mi GPS es un Garmin Etrex 101. Con cable USB (se vende aparte) para conectarlo al ordenador.

Antes trabajaba mucho con Ozi Explorer en el ordenador y en PDA, por lo que tengo muchos mapas, listas de waypoints y alguna ruta ya guardados y que no querría perder. Ahora he perdido la PDA, por lo que utilizo preferentemente el GPS (léase Garmin Etrex 101). aunque pierda el poder ver el mapa en el campo, gano en fiabilidad y en disgustos porque se acaba la batería. El día que inventen una pda a pilas o que le dure la batería al menos un dia entero, igual me compro otra.

Mis objetivos son:

1. Conectar el gps al ordenador y ser capaz de bajarme los datos del gps y volver a meterle datos nuevos (los mismos modificados u otros).

2.ser capaz de guardar de forma ordenada las listas de waypoints de diferentes proyectos, los tracks y las rutas. Por si alguien no lo sabe: Waypoints son las coordenadas de puntos concrretos, tracks son caminos realizados y grabados con el gps y rutas lo mismo pero hecho a mano juntando waypoints (lo mismo que los tracks pero con menos puntos).

3. Editar los datos en forma de tabla entendible, para poder hacer modificaciones y o publicarlos.

4. Poder ver y editar mis datos en formato mapa, preferiblemente con Google Earth (o Google Maps). Y si creo datos en Google Earth, poder pasarlos al GPS.

5. Poder ver mis datos en OziExplorer, para poder ponerlos sobre los mapas topográficos. Y poder pasar mis datos de Ozi a GE y GPS indistintamente.

Por ahora no pido más.

1. Conectar el GPS al ordenador.

Tengo el GPS, el cable que viene de serie que tiene nueve pins, otro cable que se conecta a ese que tiene USB y el ordenador con Kubuntu. ¿y Ahora que?

Lo enchufo y no pasa nada, mal empezamos.

A. Instalar los drivers

En 1 encuentro un tutorial y me dispongo a seguirlo (no funciona, lo incluyo porque no estoy seguro de que lo que hice no haya facilitado el paso posterior):

1. instalar paquetes:

# sudo apt-get install gpsd

# sudo apt-get install gpsdriv
e

# sudo apt-get install kismet


2. Comprobar que reconoce el GPS conectado:

- Conectar los cables y enchufar el GPS al ordenador, escribir:

# dmesg

Si todo ha ido bien y el GPS está conectado aparecerán (entre otras muchas líneas) algo como lo siguiente:

[ 6780.361285] mct_u232 1-1:1.0: MCT U232 converter detected
[ 6780.361478] usb 1-1: MCT U232 converter now attached to ttyUSB0


Luego explica cómo ver si se están recibiendo datos. Como mi GPS está en interior, no funciona.

3. ejecutar Kismet

Dice de cambiar cosas en el archivo /etc/kismet/kismet.conf, pero no existe tal archivo. ¿?.

Dejo este tutorial, porque no funciona nada más...., pero sigo buscando

B. Gpsmanager
(Simple, pero funciona)

Gps manager es un programa con el cual he conseguido conectar el gps al ordenador, bajarme los datos del gps (formato gpx) y creo que podré subir datos nuevos al GPS.

1. Instalar

Desde Synaptic, buscar e instalar el paquete gpsman (no es la última versión, pero es estable).

2. Arrancar

No sale en el menú del lanzador de aplicaciones, así que en consola

# gpsman

Y se abre el programa. Son tres ventanas (las otras dos están detrás). La ventana principal es un poco sosa. Yo lo he puesto manualmente como una aplicación en el lanzador de aplicaciones, porque estas cosas se me olvidan de una vez para otra. Para eso , en configurar menú, nueva aplicación, y en orden, poner gpsman, elegir nombre e icono. Ya está.

3. Conectar el GPS

Para conectar el GPS, pinchar en GPS receiver, comprobar el protocolo (Garmin, en mi caso) y dar a Check. Si el cuadrado (o rombo) se pone verde es que ya estás conectado.

4. Descargar datos del GPS

Para descargar los datos del GPS, en GPS receiver dar a Get y elegir Waypoint, route o track o uno detrás de otro. En la ventana de listas aparecen los datos que tienes en el GPS.

5. Meter datos en el GPS

Igual que antes, pero en vez de Get, dar a Put y seleccionar. Esta vez te da la opción de elegir cuál o cuales quieres meter en el GPS.

6. Cosas que no se pueden hacer

- Borrar datos en el GPS, no es importante, se puede hacer a mano y es muy rápido borrar todo.
- Bajarse sólo algunos WP, tracks o rutas, ..., tampoco es grave.
- Se pueden ver los datos sobre el mapa, pero como no hay ningún mapa de referencia realmente no es muy útil para hacer nada con ellos. Es mejor exportarlos a otro programa para trabajar. Además, si se intenta se puede quedar bloqueado el ordenador (si, Kubuntu también se bloquea, snif, dos veces esta tarde).

Primer objetivo cumplido.
Más información en 1, 2, 3, 4, 5, 6.
Otras opciones: 7, 8.
Opciones windows: 9.


2. Guardar datos y cambiarlos de un formato a otro

Hasta ahora, como funcionaba con PDA + ordenador, ambos con Ozi, todos los datos los tengo en formatos Ozi (.wpt, .plt y .rt2 para waypoints, tracks y rutas respectivamente) . Pero estos formatos no son compatibles con el GPS ni con Google Earth ni ningún otro programa.

El formato libre, abierto y general en el que se comparten los datos en Internet es .gpx, así que lo mejor será utilizar este formato para todo (y guardar las cosas en este) a partir de ahora.
Este formato tiene la gran ventaja de que es el formato que ya he conseguido utilizar para sacar los datos del GPS y para meterlos de nuevo.

Para cambiar los datos de unos formatos a otros, lo mejor que he encontrado es Gpsbabel junto con GEbabbel (una GUI para no tener que trabajar con comandos).

El problema principal es convertir los archivos .kml producidos por googlemaps, porque no tienen incluidos realmente los waypoints, sino una referencia web a los mismos, por lo que los diferentes programas no encuentran coordenadas y lo convierten a un archivo vacío (comprobar en un editor de texto). El único programa que he visto que soluciona este punto es GPSVisualizer.

C. GpsBabel y GEbabbel

Ambas están en los repositorios (synaptic). Una vez instalados, aparece en el menú de aplicaciones una entrada a Gebabbel. Al abrirlo se abre una ventana en la que se pueden cambiar de formato, incluido todos los de Garmin, Magellan, gdb, gpx, ozi, kml, Yahoo, Tomtom, etc.
Se pone el nombre del archivo de entrada, el de salida y si quieres, algún filtro.

Además tiene funciones para bajar y subir archivos al GPS, pero no he conseguido que funcione.


Otra forma de utilizar gpsbabel: Acceder al Gps via Udev-Gpsbabel

D. OziMapConverter


Otra aplicación que puede ser útil para transformar los archivos de tracks y WP de Ozi en gpx o kml. O viceversa, así como para convertir la georeferenciación de los mapas a varios formatos. Tiene la ventaja que si seleccionas una carpeta convierte todos los archivos de la misma.
Para instalarlo hay que bajarselo de http://ozimapconverter.narod.ru/index_en.html

Es posible que sea necesario instalar visual studio lib, desde la misma página.



E. GPS Visualizer

Es una aplicación web que soluciona el problema, espero que temporal, que tiene gpsbabel para convertir los archivos .kml en gpx u otros (hay algún tipo de error de lectura).
Es una aplicación web, que tiene la ventaja de que no hay que instalar nada y la desventaja de que necesitas conexión a Internet. Fácil de utilizar.

http://www.gpsvisualizer.com/convert_input


Otros conversores: 1.


3. Editar datos en forma de tabla


No he encontrado todavía ninguna aplicación que abra los archivos gpx en formato tabla. No debería ser tan difícil, pero a veces es importante poder pasar los datos a excel y/o poder ordenarlos.

Siempre queda la opción de ir editandolos uno a uno y/o utilizar las tablas de Ozi.

La mejor opción que he encontrado es con Gpsbabel, que tiene la opción de transformar cualquier archivo en un archivo de texto de OpenOffice. Se abre en el editor de texto y se copia y pega (pegado especial, sin formato) en la hoja de cálculo.


4. Editar en forma de mapa: Crear rutas y/o waypoints

Existen varios programas en los que se pueden editar los datos en forma de mapa (encima de algún mapa, foto aérea, satélite,etc) lo que facilita mucho la creación de rutas y/o waypoints de sitios en los que no hemos estado nunca. Voy a repasar los que he probado.
F. OziExplorer
Siempre me ha gustado mucho este programa porque tiene la gran ventaja de que puedes utilizar el mismo programa en el PC y en la PDA y que puedes georeferenciar cualquier foto o mapa, con unos cuantos puntos. Tiene tres pegas principales: Sólo tiene versión para Windows, es de pago y utiliza formatos propios que no pueden utilizar otros programas.
La primera y la última tienen solución, la segunda también pero peor.
Aunque es para windows, funciona muy bien sobre wine. Los formatos son fácilmente convertibles (aunque no deja de ser un peñazo) con OziMapConverter.
En Emule hay mapas topográficos 1:10.000 y 1:50.000 georeferenciados de muchas zonas de España y Europa.

G. Viking
Por lo visto antes podía utilizar los mapas de Google Maps, pero cuando empezó a ser el programa más utilizado, cambiaron los formatos y de alguna manera inexplicable (hay otros programas que pueden y lo hacen) este programa ya sólo utiliza los mapas de OpenStreetMaps y fotos aéreas "libres". Hay otros en la lista, pero no funcionan.
Permite hacer rutas y waypoints en gpx, pero no deja editarlos en tablas ni ver los datos de cada uno, sólo su posición en el mapa, ya que funciona a base de capas.
Está en los repositorios y funciona bien.
Permite (con los pasos que he hecho al principio) conectar el gps y bajar datos, pero no subirlos. Los datos los guarda en formato propio, pero las capas se pueden exportar en formato gpx.

Permite:

-Importar y exportar desde y hacia el GPS: sólo hay que elegir bien el puerto (/dev/httyUSB0)
- Ver todos los datos encima de un mapa o foto aérea.
- Exportar imágenes con todas o algunas de las capas.
- Guardar cada capa en formato gpx u otros.


H. Google Earth y Google Maps

Google Earth (ya hay versión para Linux) y Google Maps son posiblemente los más populares. No se cuál es la ventaja de que sean dos programas separados,. La versión gratuíta no permite guardar datos en formato gpx (la de pago si), y es un poco farragosa de utilizar, pero la calidad de los mapas y fotos aéreas compensa con creces. Se pueden hacer archivos .kml y luego convertirlos.
Otras páginas web utilizan estas plataformas para aumentar sus funciones:

5. Crear rutas y/o waypoints

Se puede hacer con Ozi, directamente desde Viking, o en Google Earth o Google maps y luego transformar el archivo.


Un ejemplo:

LLego a casa después de un día de campo con el gps lleno de waypoints y tracks. Enciendo Viking e importo los datos con el cable. En este momento se pueden editar los tracks y juntar o separar lo que sea necesario para luego exportarlo en formato gpx.
Con gebabel se pueden transformar estos datos a formato de Ozi para trabajar con esos mapas, ó a formato de google earth (.kml) para enviarselo a los colegas.

Si los datos son muy enrevesados y hay que borrar muchos para hacer más de un archivo gpx, es mejor bajarlos en gpsmanager y moverlos ahí de la forma adecuada para luego exportarlos en gpx.

El caso contrario:

Queremos salir al campo y antes queremos meter en el gps determinadas rutas o waypoints. Lo más fácil es meter los datos (en gpx) en gpsmanager y de ahí limpiar lo que no haga falta antes de meterlos en el gps.

A mi ya me funciona :-)