Cómo utilizar datos geográficos públicos de OpenStreetMap con un software libre como QGIS

15 diciembre, 2014

Analizar datos espaciales y generar con ellos mapas atractivos para el usuario es la gran fortaleza de los Sistemas de Información Geográfica (SIG). Y si hace unos pocos años el software SIG y los datos de calidad estaban sólo al alcance de unos pocos (grandes corporaciones, militares, universidades…), hoy cualquier profesional bien formado tiene en su mano la posibilidad de usarlos de forma rápida y gratuita. En esta entrada veremos algunas posibilidades del uso combinado de un software SIG libre como QGIS y los datos, también libres, de OpenStreetMap (OSM).

¿Cómo empezar a trabajar con QGIS y OSM?

Instalando en nuestros equipos la última versión de QGIS Desktop dispondremos de un software SIG de escritorio completo, gratuito y extensible mediante plugins (instrucciones de instalación detalladas de la v2.6, para Linux, Windows y Mac aquí).

OpenStreetMap (OSM) no es sólo un mapa: es una base de datos mundial con más de 30 GB de datos geográficos vectoriales de información muy diversa y detallada (carreteras, caminos, edificios, restaurantes, parques naturales…). En las últimas versiones QGIS integra de forma nativa la opción de descarga de datos OSM, desde su menú «Vectorial > OpenStreetMap (OSM) > Descargar Datos«. Esto simplifica y agiliza la descarga de una porción de datos OSM, en forma de fichero vectorial «.osm» (XML).

En este ejemplo, utilizaremos datos de la ciudad de Santander, dentro del área geográfica definida manualmente por las siguientes coordenadas:
«xmin:-3.8313931 ymin: 43.4449263 | xmax:-3.7658341 ymax: 43.4784917»

QGIS también permite descargar datos OSM dentro del encuadre de una capa preexistente o a partir del zoom actual por pantalla. En cualquier caso, es importante que el sistema de referencia sea WGS84 Longitud / Latitud (EPSG: 4326) o el proceso no funcionará correctamente. Esto es debido a que internamente el complemento hace uso del API Overpass, que recibe como parámetros las coordenadas del encuadre en este sistema.

Una vez descargados los datos OSM (en un fichero *santander.osm*, de aprox. 5 MB), se pueden cargar directamente en QGIS, mediante la opción de menú «Capa > Añadir capa > Añadir capa vectorial» (y luego seleccionando points / lines / multipolygons).

Datos OSM con los estilos por defecto en QGIS
Figura 1. Datos OSM con los estilos por defecto en QGIS

Una vez obtenidos los datos podemos comenzar el proceso de explotación y análisis, utilizando distintas herramientas de QGIS. A continuación mostraremos brevemente 3 ejemplos ilustrativos:

Ejemplo 1. Usar OSM para generar un mapa

Es posible tomar los datos OSM y generar con QGIS un mapa 100% personalizado, seleccionando cada entidad a mostrar, su etiquetado, su estilo… hasta obtener un mapa base o mapa temático a nuestra medida.

QGIS proporciona un mecanismo para persistir reglas de visualización mediante ficheros de estilos reutilizables (.qml). Por ejemplo, existen algunos .qml públicos que permiten dar una apariencia «googlemaps» a un lote de datos .OSM y si los aplicamos a nuestras capas OSM (menú de capa «Propiedades > Cargar estilo«) el resultado es un mapa base como el siguiente:

Figura 2. Mismos datos OSM, con los estilos osm_spatialite_googlemaps_.qml, tomados de https://github.com/anitagraser/QGIS-resources/tree/master/qgis2/osm_spatialite
Figura 2. Mismos datos OSM, con los estilos osm_spatialite_googlemaps_.qml

Los .qml usados son ficheros para la versión 2.4 de QGIS y no se contemplan todos los tipos de objetos OSM, como p.ej. «playas» (categoría natural:beach), con lo cual para un resultado óptimo deben trabajarse más los estilos.

Ejemplo 2. Usar OSM para un análisis de redes

OSM incluye un subconjunto especialmente relevante de datos que es la red viaria. OSM recoge el grafo conectado de autopistas, carreteras, caminos, calles… y permite por tanto aplicar los algoritmos propios del análisis de redes: camino más corto, estimación de tiempos para recorridos, etc.

Aunque existen herramientas más sofisticadas, QGIS proporciona una práctica utilidad para calcular la ruta más corta en una red, mediante su complemento «Grafo de rutas«.

Antes de usar el complemento hay que cargar la capa de líneas y luego configurar el plugin, mediante «Vectorial > Configuración del complemento Grafos de rutas«. En ese apartado de configuración se puede fijar p.ej. la velocidad media de los tramos. Para ver los datos de tiempo y velocidad correctamente, será necesario usar una proyección que utilice metros como unidad, así que aplicaremos antes una reproyección al vuelo (en este caso, a la zona le corresponde ETRS89-UTM30N: EPSG:25830).

Si fijamos una velocidad media de 50 km/h a toda la red, podemos calcular por ejemplo la distancia y tiempo estimado del camino más corto entre la estación de tren de RENFE y los Jardines de Piquío en el Sardinero.

Figura 3. Los datos de la red de transporte OSM utilizados para un cálculo de camino más corto
Figura 3. Los datos de la red de transporte OSM utilizados para un cálculo de camino más corto

Ejemplo 3. Usar OSM para la búsqueda de vivienda

Los datos OSM pueden usarse también para análisis de otra índole, encadenando sobre ellos operaciones espaciales sucesivas (área de influencia, intersección, etc.). P.ej. para la búsqueda de la mejor ubicación para alquilar una vivienda, en base a una serie de requisitos previos tales como p.ej. la proximidad a una escuela, cercanía a vías de comunicación rápidas, etc.

En el siguiente vídeo puede verse un análisis vectorial sobre datos OSM en esta línea:

Figura 4. Análisis vectorial con datos OSM

Este material forma parte de los recursos generados para el Posgrado SIG de la UOC. Se trata de un conjunto de vídeos que ejemplifican el uso de QGIS siguiendo los ejercicios planteados en el QGIS Training Manual. La serie completa de vídeos está disponible en la siguiente Wiki, que contiene un conjunto de videotutoriales que explican cómo realizar las tareas más comunes con QGIS.

Víctor Velarde es Licenciado en Geografía, Máster en Sistemas de Información Geográfica e Ingeniero Técnico en Informática de Gestión. Colabora como docente en el área SIG de la UOC desde 2011 y trabaja en el Instituto de Hidráulica Ambiental IH Cantabria. Éste es su perfil en Linkedin.

(Visited 212 times, 1 visits today)
Autor / Autora
Comentarios
JUAN17 diciembre, 2014 a las 10:41 am

Hola!

Interesantísimo este post y muy didáctico. Muchas gracias.

Tengo una duda sobre el uso de openstreemaps para análisis de redes. Efectivamente, las veces que lo he chequeado, los arcos están conectados pero en muchas ocasiones, sobre todo en vías urbanas, he podido comprobar que no hay nodos en las intersecciones con otras calles, con lo cual se hace complicado para trabajar con OSM para temas de análisis de redes sin tener que editar mucho la red, sobre todo en trabajos con un ámbito de estudio grande. ¿habeís tenido alguna experiencia similar? ¿es verdaderamente fiable openstreetmap para análisis de redes sin necesidad de editar mucho la red?

Muchas gracias y enhorabuena por el post y por el blog

Saludos

Responder
Toni18 diciembre, 2014 a las 9:43 am

Hola Juan:

Muy buen apunte. Y como muchas veces, la respuesta creo que es «depende de lo que quieras hacer y cómo lo quieras hacer».
Personalmente, he estado en proyectos de redes en los que interesaba tener un nodo en cada intersección, y proyectos en los que interesaba no tenerlo. Dependía de cómo trabajara el cliente. La decisión se tomaba a la hora de crear la cartografía: ¿ponemos o no ponemos nodos en las intersecciones?

Una vez hecha la cartografía, si en un proyecto cambiaba el enfoque, no pasaba nada, ya que por software era fácil encontrar los nodos buscando las calles que se cruzaban.

Así, pues, mientras tengas los ejes de calles, el problema de los nodos (si los necesitas) se resuelve introduciendo un método que los encuentre automáticamente. Al menos en los proyectos en que he trabajado yo no penalizaba mucho el tiempo de ejecución, que seguía siendo transparente para el usuario.

La respuesta es, por tanto, que OSM sí que puede ser útil para análisis de redes. Sólo hay que conocer bien cómo está hecho (como en cualquier otra cartografía).

No sé si te he respondido. Espero que sí. Si no, no dudes en preguntar.

Un saludo,

Toni

Responder
Víctor Velarde18 diciembre, 2014 a las 11:08 am

Hola,

Hoy en día OpenStreetMap es una fuente de primer nivel, también para análisis de redes. En todo caso, es cierto que para obtener un resultado óptimo es recomendable realizar una revisión de la calidad de la red en la zona, vía comprobaciones topológicas.

Adjunto un par de referencias que pueden resultar interesantes en estos temas:

– pgRouting (http://pgrouting.org/). Se trata de una extensión para PostgreSQL / PostGIS que permite aplicar análisis de redes masivos, con más algoritmos que QGIS. Para la carga de datos, permite usar datos OSM mediante herramientas como osmosis (http://pgrouting.org/docs/howto/osmdata.html).

– OpenRouteService (http://openrouteservice.org/?lang=en). Se trata de un servicio de ruteo en línea, a nivel europeo, basado en datos de OSM

Más información sobre OSM y ruteo en: http://wiki.openstreetmap.org/wiki/Routing

Saludos!

Responder
Laura M12 abril, 2019 a las 2:27 pm

Buenos días,

Gracias por la info, justo la estaba buscando para un cliente, me ha quedado muy claro especialmente con el ejemplo 3 para usar OSM para la búsqueda de vivienda.

Responder
Deja un comentario