jueves, 9 de marzo de 2017

Mapa del Mes: TopoSanabria para Garmin.

Presentamos nuestro Mapa del Mes de marzo: TopoSanabria, un mapa topográfico vectorial para BaseCamp y dispositivos Garmin compatibles. 
Marco negro mostrando la extensión del mapa.
Su cobertura territorial comprende el Parque Natural del Lago de Sanabria, en la provincia de Zamora, con un pequeño margen alrededor del mismo que facilite una mejor ubicación espacial. Al igual que el resto de nuestros mapas para Garmin, TopoSanabria cuenta con las siguientes características generales:
- Mapa ruteable y con capacidades Active Routing, adaptando su recorrido a distintas vías dependiendo la actividad seleccionada.
- Mapa con datos de relieve, lo que permite conocer la altitud de tracks o waypoints, así como obtener perfiles de recorrido u observar el mapa en la vista 3D.
- Elaborado con los datos más actuales disponibles a la fecha de creación, lo que garantiza un contenido lo más ajustado posible a la realidad del terreno.

La fuente de datos del mapa es, en su práctica totalidad, la BTN25 del IGN completada con algunos datos extraídos de OpenStreetMap y unas pocas pinceladas de CartoCiudad. Todos los mencionados conjuntos de datos cuentan con licencia Creative Commons que permite su utilización libre para cualquier uso con la simple cita de la propiedad de los mismos. Muchas gracias a todos por su trabajo y por poner la información a nuestra alcance.

Dado que el terreno que abarca TopoSanabria es un área más reducida de lo habitual, hemos optado por hacer un mapa mucho más detallado en algunos aspectos. Así contamos por ejemplo con las curvas de nivel cada 10 metros originales de la BTN25, y hemos adaptado la resolución del relieve a los mismos 10 metros a partir del MDT05 que el mismo IGN nos ofrece. Igualmente las escalas de cada capa del mapa han sido reducidas, proporcionando mayor detalle en líneas y polígonos a zooms más altos. Todo ello repercute en un mayor tamaño de archivo final que es perfectamente asumible por el menor terreno cubierto como hemos mencionado y que nos ofrece, a cambio, una más alta fiabilidad del terreno, reflejada en una teórica mejor precisión a la hora de calcular alturas o perfiles topográficos sobre el mapa.

TopoSanabria servirá sin duda también para mostrar nuestra forma de trabajo, y para que aquellos que no conozcáis nuestros productos, tengáis una idea aproximada de cómo son los mapas para Garmin de nuestra CartoTienda.
(La diferencia son algunas probaturas y un control de calidad final más relajado buscando vuestra colaboración).

El lote para descarga (19 megas) incluye:
- Autoinstalable para BaseCamp (Windows o Mac).
- Archivo IMG del mapa para copia directa en el dispositivo Garmin.
- Archivo de texto LÉEME con breves instrucciones.

No nos alargaremos más sobre el contenido del mapa, su diferente información ni las características de la misma. Al ser totalmente gratuito es mucho mejor que todos aquellos que podáis necesitar un mapa detallado y actual de esta zona lo probéis personalmente y saquéis vuestras conclusiones.
Puedes descargar TopoSanabria en nuestra sección Mapa del Mes.

Desde Cartografía Digital esperamos que TopoSanabria os sea de utilidad y por supuesto no dudéis en compartirlo con todos vuestros conocidos ni en dejarnos los comentarios u observaciones que consideréis oportuno, y que siempre son bienvenidas para mejorar. Muchas gracias.

martes, 7 de marzo de 2017

Obtener datos OSM en QGIS.

Como sabemos OpenStreetMap (OSM) es una interesante fuente de datos geográficos. A pesar de que su contenido es muy variable y dependiente de lo habitada o frecuentada que sea una zona, y a pesar también de que se podría discutir bastante sobre el control y el rigor de muchos de los datos que los usuarios suben, a día de hoy es una base muy aprovechable cuando se trata de obtener datos para nuestros trabajos o representaciones de todo tipo.
Es precisamente por ese cierto caos de información, unido a un listado de categorías realmente amplio, por lo que a menudo se hace imprescindible clasificar y discriminar los datos que se ofrecen para obtener justamente aquello que necesitemos.

En el artículo de hoy, y con ayuda de QGIS, vamos a mostrar cómo descargar la información vectorial disponible en OpenStreetMap y cómo filtrarla para obtener datos individualizados.

Abrimos el programa QGIS. Lo primero que necesitamos es decidir la zona de terreno cuyos datos nos interesan; esto teóricamente lo podemos hacer cargando en pantalla cualquier mapa, objeto vectorial o cualquier referencia espacial que nos centre la vista sobre nuestro área de interés. Para evitar posteriores problemas de proyecciones entre nuestro objeto-referencia y los datos de OSM yo os recomiendo utilizar directamente el complemento OpenLayers, disponible en el repositorio de QGIS y que nos permite cargar en el programa las cartografías de los grandes productores mundiales como Google, Bing u OSM entre otros.
Una vez instalado este imprescindible complemento lo tendremos disponible en el menú Web de QGIS. Lo utilizamos y cargamos la modalidad del mapa OSM que queramos:
A continuación nos movemos por el mapa encuadrando nuestro área de interés. Para este caso práctico nosotros vamos a elegir la ciudad de León.
Nuestro área de interés -núcleo urbano de la ciudad de León- encuadrado en la vista de QGIS.
Momento ahora de usar las utilidades para gestionar datos OSM que QGIS trae por defecto en sus últimas versiones, y que podemos encontrar bajo el menú Vectorial. Como es obvio comenzamos por la descarga de datos:

Se nos abre la ventana gestora de la descarga de datos, muy sencilla:
Disponemos de tres opciones: a partir del lienzo del mapa, a partir de una capa cargada en QGIS, o introducir manualmente las coordenadas de la zona a descargar. Usaremos la primera opción, para lo que previamente hemos encuadrado en el lienzo la zona de nuestro interés. En archivo de salida simplemente damos un nombre y una ubicación al archivo de descarga.
Terminada nuestra descarga, cuyo tiempo y tamaño dependerá de la zona a descargar, se nos ha generado un archivo con el nombre dado y extensión .osm que es la clásica para las descargas vectoriales desde OpenStreetMap y se trata de un archivo vectorial con estructura XML.
Este archivo sería ya perfectamente visible en QGIS, que nos permite su carga como capa vectorial, pudiendo elegir los elementos a cargar (puntos, áreas, polígonos).
Archivo .osm generado por la descarga y abierto en bruto en QGIS.
Cada grupo de elementos contiene ya su tabla de atributos estructurada con los datos de OSM, por lo que en un proceso manual podríamos utilizarlos, clasificarlos o discriminarlos a voluntad.

Sin embargo, nos interesa mucho más obtener un archivo de base de datos con el que sea mucho más fácil trabajar en QGIS y realizar las distintas operaciones sobre datos geográficos que necesitemos. Para ello usamos la segunda función del menú: importar topología a partir de XML.
En Archivo de entrada cargamos nuestro archivo .osm de la descarga. El resto de parámetros se rellenan por defecto
 (aunque podemos modificarlos): archivo DB de salida y conexión SpatialLite (magnífica utilidad con la que siempre tendremos disponibles los datos a través de carga de capa vectorial de base espacial).
Listo nuestro archivo con extensión .db procedemos a importar los datos mediante la tercera herramienta del menú: exportar topología a SpatialLite.
En archivo de base de datos de entrada seleccionamos nuestro archivo .db. A continuación podemos escoger el tipo de fenómeno a exportar (punto, polilínea o polígono). Pulsando el botón Cargar de la base de datos se nos muestran en pantalla todas las categorías presentes en los datos. Seleccionamos aquellas que queramos importar (o todas) y dejamos la casilla Cargar en la vista del mapa cuando se termine activada para que los datos se carguen en el lienzo de nuestro proyecto.
El número de etiquetas que seleccionemos configurará lo completa que será la tabla de atributos de los elementos importados. Para este ejemplo nosotros queremos discriminar los puntos clasificados como supermercados en OSM; además queremos contar con la información del nombre de la tienda si la tuviera. Por tanto en las etiquetas marcamos los campos shop y name.
Aceptamos y QGIS nos importa todos los puntos de la base de datos OSM en la capa Leon_points; como sólo estamos interesados en los supermercados abrimos su tabla de atributos y notamos que algunos están etiquetados como supermarket...
... por lo que hacemos una consulta a la base de datos usando una expresión...
El programa nos devuelve, seleccionados en amarillo en pantalla y seleccionados también en la tabla de atributos, aquellos puntos cuya etiqueta en la categoría shop es igual a supermarket.

Ahora ya podríamos exportar nuestra selección como archivo vectorial shape y conservar nuestra solicitud (click derecho sobre la capa y Guardar como... marcando la casilla 'exportar sólo datos seleccionados' en la ventana de exportación a SHP). Y trabajar con aquellos datos de OSM que nos interesaban de la mejor manera posible.
Es muy importante para saber qué datos podemos conseguir desde OSM conocer el etiquetado que se utiliza en dicha cartografía, por lo que recomendamos dar un buen repaso o tener siempre a mano el catálogo de claves y valores que se utilizan habitualmente en OSM. Solo así podremos saber, por ejemplo, que la etiqueta path corresponde a sendero, track a camino, etc, etc... y podremos hacer nuestras búsquedas con buenos resultados.
Otro ejemplo, esta vez sobre las polilíneas de la base de datos, y posterior consulta highway=pedestrian sobre las mismas para discriminar aquellas calles catalogadas como peatonales en OSM y colocarlas sobre ortofoto Google.
El etiquetado de OSM es bastante abrumador y extensivo (véase aquí una muestra solamente para la clase highway) y a menudo no se respeta (o se completa muy básicamente) por parte de algunos editores. En cualquier caso creemos que este proceso es una absoluta maravilla para obtener datos individuales y clasificados de la magnífica fuente OSM. Un saludo y gracias por compartir.