18 de agosto de 2011

Georreferenciando fotos

Añadir a las fotografías unas coordenadas es algo muy útil cuando vamos de senderismo o explorando un lugar desconocido. Cuando hablamos de georreferenciar hay dos posibilidades, añadir a la fotografía un metadato que indica su X e Y en el planeta, o bien, colocarla sobre Google Earth.

Lo único que necesitáis es un archivo .GPX y las fotos de la cámara. El archivo GPX es un formato estándar en el que se guarda la ruta en vuestro GPS. En mi caso, el Garmin Dakota 20, lo podréis encontrar en la carpeta "current".

Para el ejemplo yo usaré el current.gpx y dos fotos gracias a mi compañero de senderismo Daorino. Una de ellas, será especialmente útil porque marca un vértice geodésico que nos encontramos en el camino y que nos permitirá verificar si todo está su correcta posición.

Para este simple ejercicio, he elegido Copix Photomapper por dos motivos, su facilidad de uso y su política de Software Libre y donaciones. El software ocupa escasos 10 mb y lo podéis descargar desde aquí.

Una vez descargado instalado. Os encontraréis con una portada tal que así.

Primero añadiremos el track o transecto hecho por el GPS. Pincharemos en File > Import GPS Data


Al importar el current.gpx ha detectado que hay más de un transecto y me muestra una lista en la esquina inferior derecha. Están ordenados cronológicamente y podemos averiguar su fecha y hora que está resumida de la siguiente forma: Año/Mes/Día Hora/Min.

Si pincháis en cualquier ruta os hará Zoom a la extensión o al área implicada en la ruta. Si señaláis varias pues os marcara el área implicada a las dos y así podréis ver que ruta es la que queréis usar para georreferenciar las imágenes. Aconsejo que eliminéis aquellas que no vayáis a usar para evitar confusiones, para ello, botón derecho con el ratón y Remove tracks

Ya con el track elegido, importamos las imágenes. Para ello nos vamos al menú de File > Import images.

En mi caso, señalo mis dos únicas imágenes, se agregan en el cuadro de la izquierda bajo el logo del programa.

Si seleccionáis las imágenes podréis ver como aparecen en el cuadro del logo. En mi caso, he tenido suerte y no hay desfase entre el gps y la hora de la cámara con lo que automáticamente me ha colocado las dos imágenes en su sitio. En el caso, de que haya un desfase, podéis modificar los parámetros Camera Timezone y Time Correction.

Cuando las imágenes estén en su sitio, yo puedo verificarlo gracias a mi vértice geodésico que ya os hablé con anterioridad. También son muy útiles, puentes, cruce de carreteras o cualquier estructura visible a partir de satélite u ortofoto en el caso de que la tengáis.

El siguiente paso será añadirle las coordenadas a las fotografías. Para ello pincharemos en Tag selected. (Traducción: Etiquetad seleccionadas). Con ello, conseguimos que si nos vamos al navegador de carpetas y hacemos botón derecho en la foto propiedades.

Luego la pestaña Details (Detalles)

Veremos que aparece un apartado con la información GPS. Gracias a este datos, podremos mandáselo a cualquier amigo que cuando lo abra por google earth, la imagen se ajustará a su lugar perfectamente.

Para el caso, de querer crear un archivo KML que contenga la ruta con las imágenes reducidas, pincharemos en la opción que se encuentra al lado de: Tag selected, es decir, Export to google earth.

Nos aparecerá un cuadro de diálogo con varias opciones pero lo más importantes, es donde guardar el KMZ y el tamaño de las fotos. Ojo! El KMZ sólo tiene la posición de las fotos, si queréis enviarla a un compañero, jefe o técnico, deberíais mandarle la carpeta que contenga las fotos y el archivo de Google Earth.

En mi caso, al abrir el KMZ generado, queda algo tal que así:

Y cuando pincho en alguna foto, me aparece en 800 x 800 px.

Resumiendo un poco todo el proceso, hay dos formas de georreferenciar, incluyendo al archivo unas coordenadas o añadiendo la foto a la ruta de google earth. Sin duda, creo que la primera forma es más útil para enviarla y la segunda para revivir la experiencia de haber explorado un lugar.

Cualquier duda no dudéis en contactar conmigo :)

12 de diciembre de 2010

Creando rutas desde Google Earth para el GPS

En esta entrada os voy a comentar un procedimiento sencillo y útil que consta de 5 pasos para poder crear rutas en Google earth y luego poder añadírselas al GPS, en mi caso hablaré del Garmin Dakota 20, pero puede ser extrapolado a cualquier otro GPS de senderismo.

1) Crear la ruta en Google Earth

Abrimos Google Earth y buscamos el icono en la barra de herramienta superior el botón "Path" o "Ruta"





Le pondremos un nombre a la ruta en mi caso, "Ruta Sierra Carbonera" y le iremos marcando el camino según vayamos viendo la ortofoto. Una vez que lo hayamos terminado cerraremos la ventana que nos apareció y la ruta quedará registrada en el menú de la izquierda.


2) Guardar la ruta

Google earth podrá guardarla automáticamente, sin embargo, nosotros lo haremos manualmente, picando botón derecho sobre el nombre de la ruta y eligiendo la opción "Save places As..."


Elegiremos el destino donde queremos guardarlo y por norma general, no me gusta usar formatos comprimidos si no es necesario por el tema de compatibilidad entre softwares, por eso ajustaremos la extensión del archivo a KML que no es más que la versión descomprimida de un KMZ.


3) Convertir la ruta en un formato compatible para el GPS

En este paso vamos a usar el programa GPS Babel, software gratuito y de código abierto que podemos descargarlo pinchando aquí. El programa ocupa unos 10 mb y es realmente efectivo, ya que no sólo nos permite cambiar a multitud de formatos, sino que también podemos enviarlos a los GPS conectados al ordenador.


El proceso de instalación no tiene ningún tipo de complicación, así que lo abrimos y nos encontramos con dos bloques, uno de entrada de datos (input) y otro de salida (outpu). Como nuestro fichero tiene formato KML, buscaremos en la lista de Format: la opción Google Earth (Keyhole Markup Language). También añadiremos el archivo, pinchando en "File(s)". Las opciones no la modificaremos por ahora.

En el apartado de Output, selecciona File y elegimos el formato "GPX XML", pondremos el destino del archivo y nuevamente, en opciones, lo dejaremos por defecto. Aplicamos y nos deberá aparecer un texto, que nos diga que todo ha salido correctamente.

Aquí os dejo un pantallazo de mi ejemplo con los parámetros que he usado:


4) Introducir los datos en el GPS

A partir de aquí cada uno es libre, de hacerlo a su manera. Mi GPS tiene una sencilla forma de añadir la ruta, simplemente con copiar y pegar el fichero .GPX al directorio de "Garmin > GPX" que nos aparece al conectar vía USB el dispositivo.


Una vez copiado, desconectamos el GPS.

5) Visualizar la ruta en el Dakota 20

Encendemos el dispositivo, vamos a "Destino", "tracks" y buscamos el nombre que le pusimos a la ruta en Google Earth. Picando sobre ella, nos saldrá el mapa con la ruta marcada en celeste.

NOTA: El software GPSbabel, también permite exportar los datos del KML directamente al GPS, si marcamos en el apartado Output > Device, la lista que le continua cambia radicalmente y nos enseña otras opciones como Garmin serial/USB, que nos será muy útil si usamos otros dispositivos que no sean compatible con GPX.

22 de noviembre de 2010

Naturaleza de los Datos

De nuevo, volvemos con un poco de teoría sobre SIG. Vamos a ver la naturaleza de los datos que estamos acostumbrados a usar en la cartografía digital, por un lado, ráster y por otro vectorial.

Los archivos rásters corresponden a las ortofotos, modelos de elevaciones, imágenes de satélite, etc y se caracterizan por tener un número de filas y columnas en la que cada celdilla la denominamos píxel. Para cada píxel habrá un sólo valor y su tamaño nos indicará la resolución con la que vamos a trabajar, por ejemplo, una banda de imagen Landsat 5 tienen un pixel de 28,5 x 28,5 metros, eso nos indica que el sensor recogerá un único valor para un área de 812,25 metros cuadrados.

Por el contrario, los archivos vectoriales corresponden con ciudades, ríos o países que podemos ver en un mapa, por lo que pueden ser de tres tipos: puntos, líneas y polígonos. Estos se caracterizan por tener unas coordenadas asociadas y además una serie de atributos añadidos. Como ventaja, son escalables, es decir pueden aumentarse sin que aparezca artefactos. Por ejemplo, mi ciudad además de tener unas coordenadas, tiene un nombre, un código INE y una serie de valores calculados como el área o el perímetro.

Diferencias entre un Mapa Vectorial y Ráster:

Archivo:Raster vector gis.png

Casi todos los programas permiten pasar de ráster a vectorial y viceversa, sin embargo, cada formato tiene sus ventajas e inconvenientes que podéis consultar en la siguiente tabla de la Wikipedia.

Por último, deciros que éste concepto de vectorial y ráster es intrínseco al mundo de los ordenadores y en SIG los formatos más utilizados para el ráster son TIF, JPG, ECW... y para vectorial SHP, DWG, etc

18 de noviembre de 2010

Localizando unas coordenadas

En esta entrada vamos a realizar el caso opuesto de averiguar las coordenadas de google maps, es decir, a partir de unas coordenadas vamos a visualizarlo en nuestro navegador. ¿Cómo? Muy sencillo, aquí os pongo una fábula.

Mis amigos Squirtle y Bulbasur se han perdido, a pesar de llevar un GPS en su salida de domingo, no sabe que ha sucedido que su track o camino recorrido se ha borrado del aparato al cambiar la batería, y ahora quieren saber si el camino de vuelta era por la izquierda o por la derecha.

Como no tienen cobertura, me envían un sms, diciéndome que están en las coordenadas Latitud 36 º 8' 37.8492'' y longitud 5º 30' 29.9772'' y su problema.

Así que desde mi ordenador con conexión a internet, abro el navegador, pincho en google maps y copio la URL de Enlazar (se explica más detalladamente en la anterior entrada)


Esta URL, tengo que modificarla para mis parámetros, es decir, tengo que ponerle mis coordenadas, y me encuentro, que aquí son decimales y yo las tengo en grados. Hacemos el cálculo de la siguiente forma:

Los grados los dejo tal cual, luego divido por 60 los minutos y por 3600 los segundos para así sumarlo todo. Veamos un ejemplo:

Latitud 36 º 8' 37.8492''
36 + (8/60) + (37.8492/3600) = 36.143847

Longitud 5º 30' 29.9772''
5 + (30/60) + (29.9772/3600) = 5.508327

Una vez con los datos en decimales los introduzco en la URL, quedando así:





En este caso, vemos que estamos demasiado lejos, sólo vemos el mediterráneo, es imposible de localizar, nuestro error es que el zoom, es demasiado bajo, nuestra escala es muy alta, así que donde pone z=5 vamos a poner Z=18.





Probamos, a ver que sale ahora:

No reconozco la zona, con lo que me alejo un poco y veo que están en Guidjel, Argelia!! Aquí ha habido un error, me han dado mal las coordenadas, esto no es lógico, que salieron de Algeciras y han acabado, dos paíseas al este. Reviso la URL y me doy cuenta, de un grave error. La latitud, no tiene su signo negativo, los he mandado 10º al este, así que verifico y esta vez añado un signo menos a la URL.



Compruebo, esa zona es conocida pero me alejo para comprobar que sí, que están en el sendero de Las corzas -Puerto del Bujeo, cerca de la Garganta del Capitán. Ahora miro, reconozco el cruce y les mando un sms para que tomen por la derecha dirección sur y que llegarán rápidamente a la granja donde dejaron el coche.


Espero que os haya gustado el pequeño ejercicio para controlar la URL de google maps en sus aspectos más básicos y además de pasar de grados, minutos y segundos. Casos como éste, me han sucedido, aunque por suerte no con dichos personajes ficticios.

Averiguando las coordenadas de un lugar

Después de tanta cartografia, geodesia, datos, etc vamos a ver un ejemplo claro de cómo averiguar las coordenadas de un lugar usando únicamente una herramienta global y gratuita, de la que todos tenemos acceso, google maps.

Curiosamente, este domingo he quedado con un amigo para salir a fotografiar setas, pero como no conoce el lugar, le he preguntado si tiene GPS en su coche, siendo su respuesta afirmativa, le he dicho como se llama el pueblo, la calle y el número, sin embargo, no me fio de la cartografía que lleve instalada así que también le quiero pasar las coordenadas exactas del lugar.

Para ello, abro el navegador y escribo google maps, en el buscador. La primera opción me llevará a la interfaz que todos conocemos y que más de una vez hemos abierto para buscar una empresa, un comercio y también nuestra casa, sí, apostaría que más de la mitad de las personas que probaron google maps, su primera vez, localizaron su casa.

En mi caso voy a localizar un polígono industrial. El polígono Industrial "La Palmosa" en la autovía Jerez - Los Barrios de la provincia de Cádiz.


Intento acercarme lo máximo posible a la zona, para asegurarme que las coordenadas sean las más exacta posible al lugar donde quiero reunirme (la flecha roja lo indica)






En la esquina superior derecha veremos, un hipervínculo llamadao enlazar, clickeareamos sobre él y nos dará una URL. Dicha URL será muy grande y podremos enviársela a cualquier persona vía mail o mensajería instantánea para que vea lo mismo que estamos viendo nosotros, pero nuestro amigo, no tiene internet, sólo un GPS en su coche. Así que vamos a analizar que nos dice la URL: En mi caso es la siguiente:




http://maps.google.es/?ie=UTF8&ll=36.437822,-5.716455&spn=0.001683,0.003433&t=h&z=19




En un primer vistazo, vemos números y letras separadas por "&":

http://maps.google.es/?ie=UTF8
&
ll=36.437822,-5.716455
&
spn=0.001683,0.003433
&
t=h
&
z=19

El primer & nos divide, la dirección de google maps y la codificación que está usando, en este caso UTF8. Este datos no es relevante ahora para nosotros. El segundo & es el que nos divide el parámetro "ll" y que está acompañado por unos número que serán la prioridad nuestra. Nos está diciendo la Longitud y la Latitud de nuestro punto. Desarrollaremos esto, un poco más adelante. El tercer & nos indica el tipo de cartografía mostrada, en nuestro caso hemos optado por la híbrida, es decir mapa más satélite, si pusiera t=m, sería mapa sin ortofoto. Ya para el último &, nos muestra la Z=19, éste únicamente nos muestra el nivel de zoom, a mayor zoom menor es la escala y viceversa. Por ejemplo, el mismo punto pero con zoom de z=10, nos mostraría provincia de cádiz y a z=5 sería toda españa y parte de marruecos. Sin embargo centrémonos en las coordenadas latitud y longitud.

Las coordenadas Latitud y Longitud, son las siguientes:
Latitud= 36.437822
Longitud= -5.716455

Aunque no nos lo dice este sistema, es un sistema global (WGS 84) y las coordenadas no son geográficas sino decimales, de ahí que no veamos grados, minutos y segundos, aunque vamos a calcularlo, quedándonos como grados el entero, luego multiplicando el resto por 60 y quedándonos esa cifra sin decimales para los minutos y por último las décimas anteriores volver a multiplicar por 60 para lo segundos.

Un ejemplo para la latitud. 36.437822

36 serían los grados. El resto sería 0.437822 que multiplicamos por 60 y sale 26.26932, así que los minutos serían 26 y de nuevo el resto lo multiplicamos por 60 (0.26932 * 60 = 16.1592) y los segundos serían 16.1592

Quedaría de la siguiente forma: 36 grados 26 minutos y 16.1592 segundos

Para la longitud, sería 5 grados 42 minutos 59.238 segundos

Estos datos ya son completamente comprensibles para el GPS y podremos introducirlos manualmente.

OJO!! Hay que tener cuidado como tenemos configurado las coordenadas del coche, porque si lo tenemos en ED50 o ETRS89, no nos valdrán éstas coordenadas y tendremos que transformarlas a otro sistema de referencia. ( si no has entendido esto último visita los primeros post del blog)

Espero que os valga la ayuda, aunque en la siguiente entrada hablaremos de un caso más trágico.

PD: Acabo de probarlo con mi GPS Garmin Dakota 20, modificando un waypoint ya existente y ha funcionado a la perfección, cualquier duda podéis contactar conmigo vía email :)


11 de noviembre de 2010

Geodesia Cartográfica

En la anterior entrada, hablábamos de la Geodesia, aquella ciencia que trata de representar la tierra con sus tres componentes, la teórica, la física y la cartográfica. Explicamos las dos primeras y ahora nos toca la Geodesia cartográfica, y es que tratar de proyectar una superficie redonda en un plano nos lleva a inducir errores significativos y nunca existe una forma válida para todos nuestros intereses.

Las proyecciones pueden ser de tres tipos:

a) Proyecciones azimutales, conservan los ángulos.

Archivo:Lambert-azimuthal-equal-area.jpg

b) proyecciones equivalentes, si mantiene la superficie

Archivo:Goode-homolosine-projection.jpg

c) proyecciones conformes, si conserva las formas.

Archivo:Mercator 1569.png

La proyección más común sobre la que trabajaremos será la proyección Mercator. Y dentro de ella, el sistema de coordenadas de Universal Transversal Mercator o también conocida como UTM, que tiene como característica que es una proyección conforme y que sus coordenadas se dan metros.

Actualmente, se trabaja oficialmente con ETRS89 UTM 30N (European terrestrial Reference System) para el caso de Andalucía, aunque muchos datos se conservan en ED5o (European Datum 1950) UTM 30N, un sistema de referencia geodésico antiguo que coexistirá hasta 2015 según el Real Decreto. También tenemos un sistema mundial que es el WGS84 (World Geodetic System 1984) con su proyección UTM 30N.

Esta entrada, sólo es una pincelada dentro de la cartografía y la geodesia, si queréis más información, la wikipedia es una fuente inagotable. Al final encontraréis los enlaces externos para ampliar sobre el tema.

Lo que sí me interesa que quede muy claro es que proyectar es pasar de una superficie redonda a una plana y nunca será exacta, con lo que si vais y volvéis de redonda, plana y luego redonda, el punto se desplazará, cometeréis un error. Sin embargo, esto no ocurrirá en una transformación porque pasar de una superficie plana a otra también plana, es exacta y no habrá error ninguno.

Enlaces:

Algunos conceptos de Geodesia...

Para comprender los distintos tipos de sistemas de referencia y cuál debe usarse en casa cada caso debemos conocer un poco de Geodesia, que trata de determinar y representar la figura de la Tierra en términos globales.

Ojalá la tierra fuera plana con lo que cualquier intento de modelizarlo en 2D contendría escasos errores, sin embargo, es "redonda" con lo que tenemos que aplicar la Geodesia Teórica, la Geodesia Física y la Geodesia Cartográfica, para acercarnos un poco más a la verdad.

Geodesia Teórica:

Está relacionada íntimamente con la fuerza de atracción de los cuerpos en relación con la masa y la distancia. Dicha puede variar con los movimientos de los astros o simplemente con la rotación del planeta. Se habla de superficie equipotencial para aquella que contiene en todos sus puntos la misma energía potencial, un ejemplo visible la superficie del mar, contiene la misma energía potencial en toda su superficie y puede variar con los astros, véase las mareas.

Sin duda, éste ha sido siempre nuestro cero a la hora de medir alturas. Todos nos hacemos una idea si digo que Gibraltar mide 426 metros sobre el nivel del mar. A esta altura se le llama ortométrica.

Geoids sm.jpg

Su mayor problema, es que varía y para ser exactos deberíamos decir la hora, mes y el año a la que se tomó la coordenada. Esto sin duda es un problema muy grande para los GPS.


Geodésica Física:

Mucho más sencillo que el anterior, la geodesia física dice que la superficie se comporta como un esferoide totalmente liso y que a partir de dicho esferoide, se calcula matemáticamente tu posición menos el esferoide, dándote la altura elipsoidal. Éste sistema se utiliza para áreas muy grandes como podría ser un continente y es el sistema que usa los GPS, por eso en mi playa de levante en la orilla me dice que estoy 20 metros por encima del nivel mar. Cuando esos datos los vuelvo en el google earth, éste rápidamente los corrige y me dice que estoy entre -2 y 2 m, un error algo más factible.

Para que entendáis un poco mejor, lo que os quiero enseñar, la línea negra que representa el nivel del mar y viene marcada como 5 sería el Geoide y la línea verde intermitente, el elipsoide.


Para que veáis la diferencia entre altura ortométrica y altura esferoidal, aquí os enseño que sería la posición donde nos encontramos (punto azul). H sería la altura ortométrica ya que se mide por el geoide y h la altura esferoidal porque se mide a través del elipsoide.

Por último, sólo nos queda la Geodesia Cartográfica, pero ya es demasiado para una entrada y me la reservo para la siguiente :)

OJO!! todo el material que os doy está lleno de simplificaciones, en muchas se cometerá errores por eso siempre es bueno que le echéis un vistazo a los enlaces externos que os explican con mayor detalle todo lo que escribo.

Enlaces externos: