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

lunes, 9 de septiembre de 2019

Importar fotos georreferenciadas con QGIS.

Importar a nuestro lienzo de QGIS una serie de fotos con datos de localización es ahora una tarea tan rápida como sencilla gracias a la herramienta o algoritmo que el programa contiene de forma nativa. 

1.- Seleccionamos el algoritmo "Importar fotos geoetiquetadas".
Esto podemos hacerlo desde la caja de herramientas de procesos o desde el buscador general (Locator Bar) de la esquina inferior izquierda del programa. Escribiendo la expresión "importar" ya se nos filtran todos los algoritmos relacionados y nos es muy sencillo localizarlos. Doble click para activarlo.

2.- Configurar la ventana del algoritmo.
No tiene ningún misterio. Simplemente seleccionamos la carpeta que contiene las imágenes geolocalizadas y ya podemos ejecutarlo.
El algoritmo contiene otras opciones que podríamos usar como escanear recursivamente (incluyendo subcarpetas). Por defecto las imágenes se cargan en una capa temporal, pero podemos dejar guardadas las imágenes en un archivo físico al mismo tiempo. Lo mismo con aquellas imágenes sin datos geo (por defecto no se cargan).
Ejemplo de algoritmo ejecutado. Se han cargado 4 fotos geoetiquetadas pertenecientes a la carpeta de referencia en una capa temporal, y se muestra el aviso de no carga de otras 2 fotos de la carpeta sin datos de localización.
3.- Procesamiento posterior.
Ahora ya podemos comprobar la exactitud de la carga sobre mapa o guardar la capa temporal en el formato que queramos (las capas temporales se pierden al cerrar QGIS, aunque el propio programa nos avisaría al hacerlo).
Una opción muy interesante es usar la propia imagen importada como símbolo de la ubicación de las imágenes en el mapa (que por defecto se cargan con un marcador sencillo). Para ello aprovecharemos que la tabla de atributos creada por el programa al importar las imágenes contiene un campo con la ruta al archivo de la fotografía (si es que está todo pensado...).

Y aprovecharemos también que una de las posibilidades de simbología es asignar un marcador de relleno, dentro del cual podemos configurar un relleno de imagen ráster.
En la ruta a la imagen ráster que queremos usar de relleno, utilizamos la opción de suplantación de datos para seleccionar el campo photo que contiene la ruta a las imágenes, de forma que cada elemento se ve rellenado con su imagen correspondiente.
Luego simplemente es cuestión de ajustar tamaños proporcionales de símbolo, añadir un marco diferenciador o escoger la forma que nos parezca más apropiada para concluir el proceso y disponer de nuestros iconos personalizados al gusto.

P.D: Si necesitas asignar datos de localización a fotografías que no los tengan te recomendamos el software GeoSetter, un magnífico programa del cual elaboramos un vídeo explicativo en su momento.

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.



lunes, 30 de diciembre de 2013

Insertar KMZ en mapa Google incrustado.

En el post anterior vimos cómo insertar un mapa Google en nuestro sitio web; en este post vamos a complicar el asunto para que en ese misma ventana de Google Maps se visualice también un track y unos waypoints en forma de fotos georeferenciadas, para lo cual deben tener los datos geográficos en sus datos EXIF. Ambos (track y waypoints-fotos) formarán parte de un archivo KMZ, que como ya sabéis es el formato comprimido propio de Google Earth, e ideal por tanto para Google Maps.
Deciros también que la manera más sencilla de hacer esto es tener alojado el KMZ en alguna página web de forma que nos generara un enlace del tipo http://www.miweb.com/descargas/archivo.kmz . Un archivo kmz con estas características podría abrirse directamente en Google Maps pegando dicho enlace en la búsqueda de Google Maps y generar nuestro mapa sin ningún problema procediendo como en el post anterior. Y aunque en varios tutoriales he leído que también es válido tenerlo alojado en sitios como Google Sites o Google Drive, os prometo que he probado de todas las formas posibles y nunca funciona como en el caso del alojamiento con dirección estándar. Por ello, haciendo uso de mi cuenta Google e indagando alguna forma sencilla de generar una ventana Google Maps con KMZ integrado, paso a relataros el procedimiento a seguir en el caso de no disponer de un sitio web para alojar el archivo que os genere una dirección tipo la que os he comentado.

Preparación previa: haced una carpeta que contenga las fotografías y el track necesarios. Las fotografías tenedlas con el nombre que queráis que tenga el waypoint y el track puede ser .gpx o .kml (entre otros formatos reconocidos).

1.- Georeferenciar fotografías y exportar KMZ con GeoSetter.
El paso de georeferenciar os lo podéis saltar en el caso de que las fotografías que vamos a usar como waypoints ya las tengáis georeferenciadas (esto es, contengan en sus datos EXIF las coordenadas de donde fueron tomadas). Hoy aún no es muy normal que las cámaras fotográficas vengan equipadas con GPS, aunque es cierto que fotografías tomadas con smartphones o dispositivos GPS modernos si geolocalizan las fotos perfectamente. En cualquier caso es un programa que os quería presentar, pues es muy bueno para guardar nuestras fotos con datos geográficos y además lo necesitamos para generar el KMZ necesario.

Interfaz principal de GeoSetter

Para georeferenciar las fotografías que formarán los waypoints del archivo KMZ, y para fabricar dicho .kmz desde GeoSetter proceded según el siguiente vídeo:




2.- Almacenar el KMZ en Google Drive.
Nuestro segundo paso será subir el .kmz generado con GeoSetter a Google Drive, el servicio de almacenamiento de archivos en la nube de Google. Obviamente necesitaréis una cuenta de usuario en Google, pero ¿quién no la tiene hoy teniendo en cuenta todos los servicios que nos ofrece? (Gmail, YouTube, Google Drive, Blogger, Google Maps, Google Fotos...).
Entramos en nuestro Google Drive y subimos el archivo PR-LE 22.kmz que hemos generado en el vídeo anterior. En las opciones de compartir el archivo lo ponemos como público. Una vez subido simplemente pinchando sobre él se nos abre el visor de Google Drive (Google Drive Viewer .Si no os saliera esa opción, botón derecho sobre el archivo KMZ y en opciones Abrir con Google Drive Viewer tal como véis en la imagen).


3. Extraer el código HTML desde el visor de Google Drive.
Una vez en el visor con el kmz y las miniaturas de foto visibles, seleccionamos Archivo/Insertar este mapa y se nos abre la ventana con el código HTML que debemos copiar para insertar en nuestro sitio web.


4.- Publicar el código HTML en sitio web.
Abrimos una nueva entrada en Blogger y pegamos el código HTML; aquí podemos modificar el tamaño de la ventana del mapa resultante.

Publicamos la entrada y ya tenemos nuestra ventana de Google Maps con el track y los waypoints incrustados en un precioso KMZ.


Y pinchando en las miniaturas de las fotografías se nos abre la ventana que configuramos en GeoSetter a 450 pixels y con la información de altura, provincia, localidad...

Por último, si pincháis en el texto azul justo debajo del mapa View Larger Map se abrirá el mapa en la web de Google Maps con este aspecto. El código que aparece rodeado en rojo nos valdría para hacer una búsqueda directa de este mapa dentro de Google Maps.


Eso es todo amigos. Por desgracia en el modo de vista Tierra (correspondiente al visor de Google Earth) el kmz desaparece. Pero eso es otra historia...
PD: el archivo KMZ generado con GeoSetter es perfectamente visionable en Google Earth.