Mostrando entradas con la etiqueta calibrar. Mostrar todas las entradas
Mostrando entradas con la etiqueta calibrar. Mostrar todas las entradas

lunes, 4 de marzo de 2019

Georreferenciar imágenes con QGIS.

En Cartografía Digital ya hemos mostrado en otros artículos cómo georreferenciar con algunos programas imágenes que no contienen datos espaciales y por tanto no pueden automáticamente situarse en su lugar bajo ninguna proyección geográfica. Se trata habitualmente de mapas escaneados, planos antiguos, imágenes aéreas o cualquier otra que sea susceptible de ser trabajada conjuntamente con alguno de nuestros proyectos.
Esta vez lo mostramos con QGIS (3.4.1), que a partir de la versión 3 trae incluido por defecto en su núcleo este complemento o utilidad.
Georreferenciador de QGIS.
El proceso en esencia es muy simple: se trata de marcar unos puntos de referencia en la imagen y darle sus coordenadas para que de esta forma el resto de la imagen se alineé por completo extrapolando a partir de dichas coordenadas ciertas. Para otorgar esas coordenadas a los puntos de calibración hay dos posibilidades principales:
1.- Conocer las coordenadas de varios puntos concretos y usarlas en la imagen (no suele ser lo habitual)
2.- Conseguir dichas coordenadas a partir de una imagen ya georeferenciada y situada correctamente por tanto en su plano espacial. Es el caso más habitual.

Disponemos de la siguiente imagen aérea del centro de Úbeda (Jaén), un mapa de bits sencillo en formato jpeg sin ningún tipo de georeferenciación extraído desde una captura de lienzo de Google Earth.
Como no conocemos las coordenadas del área (o no tenemos posibilidad de conseguirlas fácilmente) vamos a utilizar alguna cartografía ya existente que, con el nivel de detalle necesario, nos permita buscar en ambos casos nuestros puntos de referencia coincidentes y asignarlos a la imagen. Para ello podemos usar muchas fuentes (ortofotos PNOA, cartografía ráster, o cualquier otra imagen que ya se encuentre situada espacialmente). Nosotros vamos a cargar previamente en QGIS el servicio wms del Mapa Base del IGN cuya URL es http://www.ign.es/wms-inspire/ign-base (concretamente la capa IGNBaseTodo).
Obviamente nos situamos sobre el centro de Úbeda en el mapa para estar ubicados a la hora de buscar nuestros puntos coincidentes. También es importante cargar la vista en el sistema de coordenadas en el que queramos georeferenciar nuestra imagen (en nuestro caso el oficial para España en la zona de Úbeda: UTM zona 30, esto es, EPSG:25830).
Abrimos ahora la utilidad Georreferenciador desde el menú Ráster y cargamos la imagen que queremos calibrar (desde el botón marcado en naranja).

Ubicados en el mismo área aproximada nos es muy sencillo identificar y localizar sobre nuestra imagen de referencia los puntos coincidentes con la imagen a georreferenciar. Nosotros hemos decidido usar por ejemplo los 3 que vemos en la siguiente captura:

Con la herramienta Añadir punto seleccionada (círculo verde) pinchamos en nuestro primer punto escogido: el centro de la plaza de toros. Automáticamente se nos abre nueva ventana donde podemos escoger entre introducir las coordenadas conocidas del punto (no es nuestro caso aunque podríamos obtenerlas fácilmente desde la posición del ratón en el lienzo QGIS) o introducir las coordenadas a partir del lienzo del mapa. Esta es la opción que nos interesa.

Al pinchar en el botón automáticamente QGIS minimiza nuestra ventana del Georreferenciador para dejarnos cómodamente disponible el lienzo del mapa, donde pincharemos en la posición que corresponde al centro de la plaza de toros.
De nuevo QGIS nos muestra el Georreferenciador con las coordenadas XY de la posición ya rellenas en sus casillas. Pulsamos Aceptar.
Nuestro primer punto de georreferenciación queda añadido en el panel de lista de puntos, y una marca roja muestra la ubicación del mismo sobre la imagen a calibrar y sobre el lienzo del mapa.

Ahora procedemos del mismo modo para añadir varios puntos más. Es importante que los puntos estén espaciados por la extensión de la imagen, y que tengamos al menos tres o cuatro para una georreferenciación más efectiva. Con las herramientas de zoom es muy sencillo buscar referencias de gran exactitud en ambas imágenes: cruces de calles, edificios concretos, etc... Y si en vez de cargar el mapa base cargamos por ejemplo la ortofoto PNOA, mucho más sencillo aún por mayor similitud
Una vez los tengamos pulsamos el botón Comenzar Georreferenciado (círculo verde):
En la ventana de configuración seleccionamos los parámetros de la imagen. Recordad seleccionar el sistema de coordenadas de salida y marcar la casilla Usar 0 para transparencia si queremos suprimir las zonas en relleno negro en las posibles deformaciones de la imagen. Elegimos también la ruta del archivo de salida, que será en formato TIF, y que el archivo se cargue en QGIS al terminar.
Aceptamos y la tabla de puntos se ha completado con los parámetros de la Georreferenciación:

Pulsamos de nuevo el botón de Comenzar Georreferenciado y en breves segundos QGIS nos carga la imagen sobre nuestro lienzo (le hemos dado 50% de transparencia para que se aprecie la exactitud del georreferenciado):

Notas:
1.- Con imágenes muy alejadas de la realidad en perspectiva, escala o encuadre, es posible que QGIS sea incapaz de adaptarla arrojando error en la georreferenciación, pues no cualquier imagen es susceptible de ajustarse a la realidad del terreno. Otras no arrojará error pero su deformación será tan excesiva que la hará completamente inútil para nuestro propósito.
2.- Teóricamente a más puntos de calibración repartidos por la imagen mayor eficacia (aunque en los casos del párrafo anterior más cantidad de puntos no suele arreglar nada).
3.- Calibrar suele ser un termino coloquial alternativo que se utiliza por georreferenciar.

domingo, 2 de febrero de 2014

Calibrar mapas con Global Mapper.

Esta vez vamos a mostraros cómo calibrar un mapa con Global Mapper, probablemente una de las herramientas de calibración más precisas que conozco.
Aunque puede hacerse teniendo anotados los puntos de referencia necesarios como vimos en el post anterior, Global Mapper nos ofrece la posibilidad de calibrar sobre la referencia de un mapa de fondo georeferenciado que tengamos abierto, lo que es mucho más cómodo y fiable. En esta ocasión vamos a calibrar un mapa moderno para que veáis la precisión actual:  la hoja 105 del IGN en formato .tif.
Abrimos Global Mapper y cargamos el mapa que nos va a servir de referencia; en este ejemplo cargamos la cartografía raster de España del IGN desde su servicio WMS, cuya dirección es http://www.ign.es/wms-inspire/mapa-raster y que yo ya tengo añadida a mi biblioteca de servicios WMS de Global Mapper (para refrescar el asunto de los servicios WMS tenéis ESTE POST ).
Con lo que ya tenemos cargada y disponible la cartografía raster de toda España en todas las escalas (sólo depende del nivel de zoom del visor para que se muestre en una u otra). Obvio es que para esto se necesita conexión a internet, pero es un servicio WMS que va bastante ligero.
A continuación abrimos la imagen a calibrar con el comando Rectify (Georeference) Imagery y respondemos algunas preguntas que Global Mapper nos hace sobre qué hacer con la imagen una vez calibrada: que la abra en la ventana principal y que la exporte como JPEG (o GeoTIFF, a elegir). Por defecto Global Mapper añade la coletilla "_rectified" al archivo generado y lo guarda en la misma carpeta que el original. Seleccionamos nuestra hoja 105 en formato .tif a calibrar.
Con esto llegamos a la ventana de calibración que consta de tres vistas (las dos primeras de nuestro mapa a calibrar y la tercera del mapa que usemos de referencia) y la parte inferior para la introducción de los puntos de calibración. En esencia se trata de buscar tanto en nuestro mapa a calibrar como en el mapa de referencia un mismo punto geográfico e introducirlo como punto de calibración (observad como pasando el cursor por nuestro mapa base ya vamos obteniendo las coordenadas en el acto). Localizamos para nuestro Punto 1 de calibración una pequeña cota marcada en el mapa y procedemos según esta secuencia:
1.- En nuestro mapa de referencia pinchamos con el ratón en dicha cota, con lo que sus coordenadas geográficas se añaden en la parte inferior de la ventana de calibración.
2.- En la vista ampliada de nuestro mapa a calibrar pinchamos con el ratón en la misma cota, con lo que las coordenadas de la imagen se añaden en la parte inferior de la ventana de calibración.
3.- Pulsamos el botón Add point to list (Añadir punto a la lista).
4.- Le damos el nombre que queramos a nuestro primer punto y aceptamos. El Punto 1 queda añadido al panel de puntos con todos sus datos.
Procedemos de la misma forma para añadir algunos puntos de calibración más. Recordad que estén distantes unos de otros; en el ejemplo he añadido un total de cuatro puntos de calibración.
Una vez añadidos nuestros 4 puntos pulsamos OK. Global  Mapper coloca nuestro mapa ya calibrado mientras genera el JPG que le pedimos al principio con la etiqueta "_rectified" (más un archivo .jgw adjunto con los datos de calibración) en la carpeta del archivo original.
Y ya tenemos nuestro mapa georeferenciado. Yo, como enamorado del formato .ecw, ya sabéis que os recomiendo tener los mapas en dicho formato (nos olvidamos de archivos adjuntos de calibración, de grandes tamaños, de incompatibilidades entre programas, etc, etc...). Pero aún así y todo ahí tenéis la comprobación de la buena calibración de nuestro jpg rectified al cargarlo junto con un raster 25K en .ecw descargado del Centro de Descargas del IGN. Impecable.



sábado, 1 de febrero de 2014

Calibrar mapas con CompeGPS.

Aunque hoy en día ya no es tan normal como en aquellos lejanos tiempos de Ozi Explorer, aún puede ser relativamente frecuente que tengamos alguna imagen de mapa que queramos calibrar. Calibrar significa darle a la imagen una serie de puntos con sus coordenadas espaciales para que quede georeferenciada y situada en el espacio. En la actualidad la mayoría de los mapas que consigamos ya traen datos de localización (bien incluídos en el propio archivo, bien en forma de un archivo adjunto) pero hubo un tiempo en que teníamos que tirar de scanner para digitalizar nuestros mapas y después calibrarlos para que nos fueran útiles para nuestros primitivos dispositivos gps. Hoy recordamos aquel proceso calibrando un mapa del que no tengamos dichos datos de localización.
Hemos escogido como ejemplo un hermoso mapa de la web de David Rumsey de la que hablamos en ESTE POST. Se trata de un mapa elaborado en 1883, escaneado de un libro y que no contiene referencia alguna ni de proyección, ni de datum ni de nada.
Abrimos CompeGPS. En las opciones del programa yo tengo configurado el sistema de coordenadas en UTM pues me parece más sencillo e intiutivo que las de latitud/longitud. Después cargamos el mapa topográfico de España tipo WMS que trae el propio programa en la lista de mapas por defecto.
Una vez cargado el mapa debemos de buscar un par de referencias para anotar las coordenadas UTM. Es recomendable que estén bastante distantes entre sí, por lo que hemos escogido las ciudades de A Coruña y de Segovia, alejadas lo suficiente en nuestro mapa antiguo a calibrar. Hacemos un zoom adecuado a la ciudad de Coruña y al poner el puntero del ratón encima de la ciudad el programa nos da las coordenadas UTM en la esquina inferior izquierda. Las anotamos en un papel.
Hacemos lo mismo con la ciudad de Segovia y anotamos las coordenadas. Obviamente ya veis que la precisión y escala de nuestro mapa antiguo es muy escasa y todo va a ser muy a groso modo, pero en mapas con mejores escalas es muy importante seleccionar el punto exacto para que el error sea el mínimo. Anotadas las coordenadas de nuestras dos ciudades referencia procedemos a cargar el mapa antiguo, en este caso en formato .sid y descargado de la web de David Rumsey como dijimos. La opción para ello es Calibrar Mapa a partir de Imagen.
Se nos abre entonces la ventana de calibración de CompeGPS en la que vemos nuestro mapa a calibrar con dos puntos predefinidos y cuatro pestañas en el menú inferior: Proyección, Marcos, Punto 1 y Punto 2.
Lo primero que debemos hacer es modificar los datos de la pestaña Proyección a los adecuados.
La pestaña Marcos nos permite recortar la imagen si lo deseamos, para por ejemplo quitar los bordes a un mapa. Es muy sencillo, solo se arrastran los marcadores de esquina a su nueva posición y el programa recorta la imagen. Nosotros lo dejamos tal cual.
La pestaña Punto 1 nos va a solicitar las coordenadas de nuestro primer punto de calibración; para ello hacemos zoom en el mapa y buscamos A Coruña; una vez localizada pinchamos sobre ella con el ratón y CompeGPS nos pregunta si queremos mover el Punto 1. Respondemos que sí para ubicarlo sobre la ciudad y en los datos del punto introducimos las coordenadas que teníamos previamente anotadas.
Pasamos al Punto 2 y repetimos la operación localizando Segovia en el mapa e introduciendo los datos que previamente teníamos anotados. Una vez hecho le damos a Guardar y Compe nos guarda por defecto un .IMP con el mismo nombre y en la misma carpeta del mapa que estamos calibrando.
Cerramos todos los mapas, abrimos de nuevo el topográfico .cwms de España y el nuevo mapa .IMP creado y el resultado debería ser más o menos este...
Practicad con mapas con mucha menos escala y más modernos y veréis como se consiguen unos resultados con mínimo error. En el caso de nuestro mapa antiguo es evidente, por ejemplo, que la línea de costa no tiene la misma fiabilidad ni representa la realidad como los mapas de hoy en día.