lunes, 7 de octubre de 2019

Caso práctico QGIS: trabajando con atributos (1).

En nuestra línea de intentar explicar algunas de las funciones básicas que podemos utilizar trabajando datos vectoriales en QGIS, comenzamos una serie de casos prácticos con operaciones basadas en los atributos. Ya sabemos que la tabla de atributos de un archivo vectorial es aquella que contiene diferente información para cada uno de sus elementos, y que cuanto más rica y completa sea en datos, más opciones de trabajar y ejecutar análisis espaciales con ellos tendremos a nuestra disposición.

Objetivo: el conjunto de datos del estudio contiene la información puntual de toda la red de estaciones ferroviarias nacional. Nuestro objetivo es buscar y encontrar aquellas estaciones clasificadas como Apeadero y que además se encuentren fuera de servicio.

Conseguir los datos: desde el Centro de Descargas CNIG descargamos el archivo RT-ESPANA-PORMODOS.ZIP, perteneciente a la agrupación Información geográfica de referencia y dentro de ella al producto Redes de transporte

Procedimiento:
1.- Una vez descomprimido el archivo global cargamos en QGIS el vectorial con la información necesaria: rt_estacionffcc_p.shp

2.- Con la herramienta Identificar objetos espaciales podemos visualizar en ventana los atributos presentes para cada elemento. Prueba a mostrar la información de algunos de ello y una vez observados los diferentes campos puedes cerrar la ventana.

3.- En lugar de observar los atributos individuales de un elemento, podemos visualizar el conjunto desde la Tabla de atributos. Puedes abrirla desde la barra de botones o con click derecho sobre el archivo.

4.- Localizamos de entre sus campos aquellos con información de interés para nuestra búsqueda. En este caso el campo tipo_estfD contiene la clasificación por categoría de las estaciones y el campo estadofisD contiene la información sobre el estado de uso de las mismas.

5.- Con esta información estamos listos para ejecutar una búsqueda en estos atributos. Para ello usamos la herramienta Seleccionar objetos espaciales usando una expresión de la barra de iconos de nuestra tabla.

6.- En la ventana de expresiones construiremos la expresión definitiva de nuestra búsqueda:  "tipo_estfD"  =  'Apeadero'. Si no estamos seguros podemos utilizar los diferentes árboles de datos para localizar aquellos parámetros necesarios para configurar la expresión final.

7.- Con la expresión anterior ya tendríamos preparada la búsqueda de aquellas estaciones clasificadas como Apeadero. Pero como también queremos encontrar aquellos Apeaderos que se encuentran fuera de servicio, añadimos una segunda expresión acumulativa mediante el operador AND.
Expresión necesaria para combinar los dos parámetros de búsqueda:  "tipo_estfD"  =  'Apeadero' AND  "estadofisD"  =  'Fuera de servicio' 
8.- Pulsamos el botón "Seleccionar objetos especiales", cerramos la ventana y observamos cómo algunas de las filas de nuestra tabla de atributos se seleccionan, a la vez que en el lienzo de trabajo algunos elementos aparecen destacados en amarillo. Son aquellos que cumplen nuestros requisitos de búsqueda.


9.- Exportamos ahora los resultados a una nueva capa, en el formato de nuestro gusto, desde el botón derecho sobre la capa de trabajo, seleccionando Guardar objetos seleccionados como...
En la ventana de exportación elegimos ruta para el archivo a exportar, nombre, formato, etc... También podemos decidir qué campos se exportan y qué campos no. Marcamos la casilla "Añadir archivo guardado al mapa" si queremos que automáticamente la nueva capa se cargue en nuestro proyecto QGIS.
10.- Ya tenemos nuestra nueva capa conteniendo los Apeaderos fuera de servicio añadida en nuestro lienzo QGIS.

Saludos y hasta la próxima práctica básica sobre atributos.




martes, 17 de septiembre de 2019

Mapas online básicos para TwoNav Land.

Ya hablamos en el blog alguna vez de cómo elaborar mapas online para CompeGPS. Dado que este software de escritorio ha sufrido grandes actualizaciones, pasando a llamarse TwoNav Land, y que la elaboración de dichas conexiones online tiene su miga (Land no es precisamente un dechado de virtudes manejándolas y lo que suele funcionar en otros aquí desespera), hemos decidido preparar un pequeño lote de mapas básicos que todos los usuarios de este programa deberían tener disponibles para trabajar en remoto.

Los mapas están todos comprobados en Land 8.5 y funcionando a fecha de esta publicación. Esto no quiere decir que en cualquier momento dejen de estar operativos: los servicios web son contingentes y al mínimo cambio o por frecuentes abandonos dejan de visualizarse. Tampoco sabemos si funcionan en CompeGPS ni en qué versiones, ya que actualmente no usamos dicho software.

Para usar estos mapas simplemente hay que copiarlos en la carpeta de mapas de Land (por defecto en Windows 7: C:\Users\*USUARIO*\Documents\CompeGPS\maps) o en aquella que tengáis configurada como directorio de mapas en el programa. Desde Land con la opción "Abrir mapa" y teniendo conexión a Internet ya podremos utilizarlos. Es posible que alguno de ellos ya los tengáis incluidos en la propia instalación de Land, pero los mantenemos por si fueran de utilidad.

Nuestro conjunto de mapas básicos para Land esta formado por:

MAPAS GLOBALES
Son mapas que cubren la totalidad del planeta y que por su alcance y difusión son parte básica de cualquier cartoteca.

Google_Maps, Google_Landscape, Google_Sat y Google_Hybrid. Este cuarteto de Google cubre las variantes más utilizadas de su cartografía. Google_Hybrid es un mapa transparente con elementos del terreno pensado para superponer sobre un mapa opaco (habitualmente Google_Sat o cualquier otra ortofoto).

OpenStreetMap-Mapnik, OpenStreetMap-CycleMap y OpenStreetMap_Topo. Son el trío de mapas del universo OSM más habituales: OSM clásico, Cycle (con marca de agua API Key), y OpenTopoMap.

MapBox_Sat. La ortofoto de Mapbox con elementos híbridos superpuestos.

MAPAS DE ESPAÑA
Algunos de los mapas del territorio nacional con más difusión y uso entre los aficionados.


Spain_Topo_IGN, Spain_Ortho_IGN y Spain_LIDAR. Trío básico de la cartografía nacional incluyendo el topográfico del IGN, la ortofoto PNOA y el mapa de superficies LIDAR.

Canarias_Topo_IGN, Canarias_Ortho_IGN y Canarias_LIDAR. Igual que los anteriores pero esta vez para las Islas Canarias.

Spain_Limites_IGN. Capa con los límites administrativos para la Península, ideal para colocar superpuesta por su transparencia y determinar la extensión de cada territorio (CC.AA, provincias y términos municipales dependiendo del nivel de zoom).

Spain_Catastro_IGN y Canarias_Catastro_IGN. Mapas del Catastro para Península y Baleares y para las Islas Canarias. He intentado darle transparencia para poder superponerlo pero no ha habido forma, y tampoco van demasiado finos.

- Spain_IGN_Base. Mapa base del IGN para Península y Baleares con todos sus componentes en opaco. También hace cosas extrañas que no entendemos a determinados zooms.

- Spain_MinutasMTN50. Minutas originales previas a la elaboración de la primera edición del MTN50 para Península y Baleares.

- Spain_MTN50_1Ed. Primera edición del Mapa Topográfico Nacional 50k (MTN50) derivado de las Minutas anteriores.

El lote conteniendo estos mapas arriba descritos lo podéis obtener en nuestra sección Descargas con el nombre Maps_for_LAND.zip

Esto es todo de momento, intentaremos sacar algo de tiempo y paciencia para ir aumentando el lote de conexiones, incluso a nivel autonómico. Para nosotros Land no es un programa que domine el manejo estricto de mapas online (tiene demasiados errores para serlo y su gestión de las conexiones a servicios web es lo bastante pésima y lenta para pretender ese rol), sino un programa para preparar rutas y manejar tracks que ofrece un batiburrillo de mapas como apoyo obligatorio de buena voluntad a esa función principal.
Pero nada más.

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, 2 de septiembre de 2019

Point Cluster en QGIS: agrupación de puntos.

A partir de la versión 3 de QGIS tenemos la posibilidad de aplicar una nueva simbología a las capas de puntos. Se trata del famoso método Point Cluster que consiste en agrupar aquellos puntos situados a una determinada distancia unos de otros, en función de la escala de visualización y la distancia que se defina, en un punto único (o clúster) acompañado del rótulo que informa del número de puntos que lo forman.
Como una imagen vale más que mil palabras y estoy seguro que habéis visto esta simbología en muchos mapas, valga este GIF animado para entender de un plumazo la teoría:
Ejemplo con entidades bancarias de la isla de Mallorca.
A medida que vamos aumentando el zoom sobre la isla los clúster se van disgregando en clúster más pequeños que representan una cantidad menor de puntos. Cuando la escala es suficiente -según la distancia prefijada- y un clúster ya no representa más que un solo punto, deja de ser un clúster para convertirse en un elemento puntual individual.
Este sistema es especialmente útil en aquellos casos que queremos mantener el mapa lo suficientemente limpio de información a escalas en las que ya hay demasiada. A medida que la escala aumenta y disponemos de más terreno sobre el que representar información, los clúster se van disgregando proporcionalmente para no saturar el mapa con demasiados elementos. Obviamente es algo más absurdo para mapas fijos, pero de gran ayuda en mapas multiescala para web (o incluso simplemente para organizar nuestro lienzo en grandes proyectos). Resumida brevemente la teoría vamos a la práctica.

1.- Abrimos QGIS y cargamos una capa vectorial de puntos.
Pueden ser muy diversas las temáticas objeto. Nosotros hemos elegido para este artículo las cimas de la isla de Gran Canaria extraídas de OSM. Cargamos también la imagen Google de fondo como mera cuestión estética.

2.- Abrir el panel de estilo de capas.
Esto podemos hacerlo desde el icono del árbol de capas o pulsando F7, lo que nos abre panel acoplado al margen derecho del lienzo y sincronizado con la capa seleccionada. También podríamos acceder, en ventana flotante como siempre, desde las propiedades de la capa.... simbología.

3.- Configurar las opciones de simbología.
En el panel de estilos seleccionamos la opción Agrupación de puntos. La simbología de los elementos cambia automáticamente a los clúster por defecto.

Ahora tenemos todo el control de simbología, tanto de los elementos clúster como de los elementos individuales una vez desagrupados del clúster a cierta escala.

Tras unas sencillas modificaciones en cada categoría de símbolos y en la distancia de agrupamiento de clúster que más nos guste, lo tenemos hecho:

Este sería un proceso básico con símbolo único que por supuesto podemos mejorar o completar dependiendo de la información disponible en los atributos de los puntos. En este caso, como disponemos de la altitud de cada cima, podríamos usar una simbología basada en reglas para los elementos individuales que se van disgregando del clúster al aumentar escala.
Ejemplo con tres reglas de simbología diferentes para cimas sin dato de altitud, cimas con menos de 1000 metros y cimas con más de 1000 metros.
También podríamos por ejemplo añadir un etiquetado dependiente de la escala o cualquier otro parámetro habitual que consideremos oportuno para una correcta y proporcional representación de los elementos en el entorno de un visionado coherente a cada nivel de zoom. Saludos y hasta la próxima.

viernes, 30 de agosto de 2019

QGIS complementos: Track Profile to Web.

Uno de los complementos para QGIS que nos ha resultado más útil y atractivo últimamente es Track Profile to Web, o lo que es lo mismo generar un perfil de un track en formato web. Su repositorio de código está disponible en GitHub y podemos instalarlo con facilidad desde el Administrador de complementos de QGIS de la manera habitual.
Complemento disponible a través del administrador de QGIS.
¿Qué hace Track Profile to Web?
El complemento permite seleccionar una línea vectorial con valores de altitud y crear un perfil de elevación interactivo. Dicho perfil puede exportarse como un solo archivo html o como una combinación de dos archivos (html+geojson). De esta forma podemos integrar de manera muy sencilla este perfil interactivo en una página web.
Muchos de los que nos leéis, aficionados a la cartografía pero también a los dispositivos GPS, habréis imaginado inmediatamente una primera utilidad de este complemento: generar perfiles de nuestras rutas en un mapa interactivo que podemos utilizar en las descripciones de los recorridos. Yo pensé lo mismo, así que vamos con ello.

1.- Abrimos QGIS y cargamos nuestro track en formato GPX.
Aquí es bueno puntualizar que si el track ya está limpio de puntos aberrantes, picos de altitud y esas cosas que todos solemos limpiar en el track definitivo, mucho mejor para un resultado final a publicar. Para este ejemplo vamos a utilizar el track de la subida al Pico Sacro realizado por la Gata con Botas.
Track GPX cargado. No es necesario aplicarle simbología pues el complemento tiene la suya propia.
2.- Abrimos el complemento Track Profile to Web.
Esto podemos hacerlo desde el menú Web de QGIS o desde el icono del complemento que se crea en la barra de botones al instalarlo.
En cualquiera de los casos se nos abrirá la ventana principal del complemento que contiene todas las opciones de configuración del mapa de salida y que son bastante intuitivas.
La configuración es muy sencilla: una pestaña para seleccionar el track sobre el que vamos a trabajar y otra pestaña para seleccionar un mapa base (1), la zona de configuración avanzada (2) en la que podemos cambiar entre otras opciones los colores, grosores y transparencias del perfil o marcador (también la ubicación del perfil en el mapa), y un botón para generar la Preview del resultado en la parte inferior de la ventana (3).
Respecto al mapa base se nos ofrecen, en el momento de escribir este artículo, cinco posibilidades: OpenTopoMap, OpenStreetMap Standard, Wikimedia, y las imágenes aéreas de Google o ESRI.  Creemos que el usuario puede añadir un mapa base en formato tiles, o al menos eso deducimos de la expresión 'insert your tile here' de la pestaña BaseMap, pero no hemos adivinado cómo hacerlo. Configurado todo a nuestro gusto podemos ejecutar el Update Preview para comprobar el aspecto del resultado.
Ya podemos interactuar con el perfil en la ventana de previsualización, obteniendo distancias y alturas en una combinación sincronizada entre el punto de track y el mapa base. También podemos hacer zoom o seleccionar un tramo en la ventana del perfil para visualizarlo en detalle sobre el mapa. Se activan también los botones inferiores que nos permiten abrir la visualización en nuestro navegador (1) y exportar el resultado en html o html+geojson (track) (2).
Si no disponéis de un sitio web al que subir el archivo HTML podéis ejecutarlo en local para visualizar todo el resultado final de una forma cómoda. Os dejo un archivo Perfil_web.html por si queréis probarlo. Y si disponemos de un sitio web sólo tenemos que cargarle dicho archivo HTML para que nuestro perfil de ruta interactivo esté disponible en nuestra web. Nosotros hemos probado a subir el HTML al host cutre que usamos para pruebas, y quizá por eso mismo algunas características del mapa (selección de tramo de perfil, recorrido del ratón por línea de perfil, etc...) no funcionan. Si hacéis las probaturas oportunas en una web decente ya nos comentáis si todo funciona correctamente.

Hemos intentado también subir el código HTML resultante a esta plantilla Blogger pero imagino que no es del todo compatible y sólo se nos muestra la parte del perfil... como es molona la dejamos. Saludos!

QGIS Track Profile 2 Web
Total Length: 0Max Elevation: 0Min Elevation: 0