Cosas que hacer con OpenStreetMap
Lluís Vicens
SIGTE - Universitat de Girona
Índice
-
Fuentes de Datos y opciones de descarga
-
Edición y Procesado de datos OSM
-
Creación de mapas en la web
-
Procesos de importación de datos OSM
Renderizado y Edición de Estilos Análisis
Routing Herramientas avanzadas: Librerías, Widgets, Frameworks
objetivos
-
Detectar y resumir las distintas opciones existentes , así como potenciales aplicaciones que puedan utilizar datos OSM
- Detectar nuevos servicios y aplicaciones que ofrecer a la comunidad universitaria
1.1 Fuentes de datos básicas & Descarga
a) Planet OSM
a) Planet OSM
Un archivo único (20/25 GB)
"All the nodes, ways and relations that make up your map"
Actualizado semanalmente
PBF || OSM XML
1.1 Fuentes de datos básicas & Descarga
a) Planet OSM
b) HISTORY
b) History
Un archivo único ( > 39 Gb)
"Full editing history of the OSM database"
Actualizado Mensualmente / Anualmente
Última actualización: 08 - feb - 2013
1.1 Fuentes de datos básicas & Descarga
a) Planet OSM
b) HISTORY
c) Diff. Files
c) Diff. files
"Contiene los cambios acaecidos en los datos de OSM, durante un período concreto de tiempo"
Minuto / Hora / Día
Formato = osmchange
Formato de archivo utilizado por osmosis, y osmconvert
Contiene: creaciones / modificaciones / eliminaciones
1.2 Otras opciones de descarga de datos
a) Por País / Región / Área
Cómo descargar
Geofabrik
ThinkGeo
bbbike
metro
weogeo
O directamente, podemos descargar los datos del sitio web de OSM.ORG
«DEMO»
1.2 Otras opciones de descarga de datos
a) Por País / Región / Área
b) Por pequeñas áreas o por Tipología
b) ... una pequeña región...
(I)
Herramienta: XAPI (Extended OSM API) con capacidades de búsqueda y consulta. Ejemplo de descarga de datos por BBOX:
http://api.openstreetmap.fr/xapi?*[bbox=2.81962,41.98036,2.82984,41.98782]
Ejemplo de descarga de datos por BBOX y TAG/ELEMENTO:
http://open.mapquestapi.com/xapi/api/0.6/node[amenity=library][bbox=2.81962,41.98036,2.82984,41.98782]
«DEMO»
Carga directa de datos OSM XML en QGIS
b) ... una pequeña región... (II)
Herramienta: Overpass.API (Optimizada, criterio de búsqueda por localización, tipos de objetos, propiedades de los TAG, proximidad... o una combinación)
Bares y campings en Girona:
http://overpass-api.de/api/interpreter?data=(node(41.9511,2.7898,42.0071,2.8696)[amenity=bar];node(41.9511,2.7898,42.0071,2.8696)[tourism=camp_site];);out%20meta;
Girona (todo):
http://overpass-api.de/api/interpreter?data=area[name=%22Girona%22];way(area);(._;%3E;%3C);out%20meta;
2.1 Edición de Datos
>> Cómo participar? <<
Creando datos: GPS & Digitalización
>> Qué editar? <<
Añadir nuevas líneas / puntos / áreas
Modificar líneas / puntos / áreas existentes
Corregir fallos y errores
Asignar "características" a los elementos
2.1 Edición de datos
>> TAGS // Etiquetas <<
Cada elemento en OSM, tiene un TAG (o varios de ellos) que nos ofrece sus carcaterístcas principales
"Visita la página OSM Map Features"
TAG erróneo -> Búsqueda errónea -> Resultado erróneo
2.1 Edición de Datos
Generación del mapa = Validación + Subida de datos
2.2 Herramientas de Edición de datos
Toda la informacion en:
http://wiki.openstreetmap.org/wiki/Editing
2.3 Editores de Datos: JOSM
2.3 Editores de Datos: JOSM
Editor offline
Ediciones simples y complejas
Importa tracks de GPS, digitalización manual, uso de WMS, Validación topológica y subida de datos
Funcionalidades extra: "plugins"
Documentación: OK
2.3 Editores de Datos: Merkaartor
2.3 Editores de Datos: Merkaartor
Editor offline
Muy similar a JOSM
Algunas herramientas específicas: transparencias
Documentación: OK
2.3 Editores de Datos: Potlatch2
2.3 Editores de Datos: Potlatch2
Editor online
Ediciones simples y rápidas
Herramientas básicas para la edición y etiquetado
Documentación: OK
2.3 Editores de Datos: iD
2.3 Editores de Datos: iD
Editor online, rápido, amigable y con una GUI intuitiva
Ediciones simples y rápidas
Herramientas para la edición y etiquetado
Muestra y edición de relaciones de ruta y restricciones de giro
Documentación: OK
3. Publicar mapas en la web
Herramienta: API Leaflet
Con sólo unas líneas de código
Es Javascript! (ejecutado en la parte cliente)
No tiene requerimientos en la parte servidor
3. Publicar mapas en la web
a) Herramienta: API Leaflet
«DEMO»
MiPrimerMapa.html
4. Importación a BBDD
Cada herramienta genera una BBDD específica
Diferentes BBDD -> Diferentes propósitos
Datos organizados en base a un SCHEMA:
# número de tablas, columnas y relaciones
4. Importación a BBDD
Herramienta: osm2pgsql
Agrupa los elementos por "Feature type"
Tablas:
#planet_osm_points
#planet_osm_lines
#planet_osm_areas
#planet_osm_road
Configuración: ../osm2pgsql/default.style
4. Importación a BBDD
Herramienta: imposm
1 tabla para cada tipo de entidad
Tablas:
# amenities
# buildings
# places
# ...
Tablas con entidades espaciales simplificadas
Configuración: defaultmapping.py
Ejemplos
$ osm2pgsql -U postgres -H sig7.udg.edu -W -P 5433 -d webinar_osm -E 25831 /home/lluis/Baixades/girona.osm
$ imposm --read /home/lluis/Baixades/girona.osm --overwrite
$ imposm --write -h sig7.udg.edu -d webinar_osm -p 5433 -U postgres --proj=EPSG:25831
osm2pgsql para SO Windows: Si
Imposm 3 (en desarrollo) para SO Windows: Si
Osmosis para SO Windows: Si
4. Importación a BBDD
Osmosis es como una "navaja suiza":
# generación de "dumps" de una BBDD
# importación de datos osm a una BBDD
# generación de "change sets" en base a:
## history tables
## dos planet dumps
# aplicar "change sets" a una BBDD
# extraer datos dentro de un bbox o polígono
# ...
5. Renderizado
Herramientas de renderizado:
# Mapnik
> http://www.mapnik.org
# TileMill
> https://www.mapbox.com/tilemill
5.1 Renderizado con Mapnik
>> Permite la creación de capas raster (PNG, JPEG, PDF, ...) basadas en datos geoespaciales
>> Soporta shapefiles, PostGIS, TIFF, capas raster, OSM así como otros formatos soportados por la librería GDAL/OGR
>> Para el proceso de diseño de mapas, se utiliza un fichero XML (similar a un CSS)
>> Mapnik es el motor de renderizado utilizado por OSM o MapQuest
5.2 Renderizado de estilos con TileMill
>> Es una aplicación de escritorio desarrollada para el diseño cartográfico (construida sobre Mapnik)
>> Utiliza CartoCSS como lenguaje de estilo
>> Permite definir estilos y renderizar imágenes (bajo mapnik). Soporta los esquemas de imposm y osm2pgsql
>> OSMBright es un proyecto de Tilemill que ofrece una base y una plantilla para la creación de estilos para los datos de OSM
6. Herramientas de Routing
Herramienta: Osm2po
Multiplataforma || requiere Java 6+
Osm2po incluye una GUI. Ofrece la posibilidad de generar expresiones SQL compatibles con pgRouting
6. Herramientas de Routing
Herramienta: Osm2pgrouting
Requiere PostgreSQL, PostGIS y pgRouting
Osm2pgrouting importa los datos (formato osma) directamente a una BBDD PostgreSQL / PostGIS, a la vez que genera la estrcutura del grafo
6. Herramientas de Routing
Herramienta: Osrm (C++)
Osrm implementa un motor de enrutamiento de alto rendimiento, para el análisis de redes y el cálculo de ruta más cortas
Es muy rápido!
7. Otras Librerías
Java, Perl, PHP, Python, R, Ruby
Imposm parser, osmread, J2memap, libosm, libOSM, libosmscout, libRoadNav, MapJumper, osm4routing, OSMLib, OsmSharp, ...
8. Widgets
BruTile, COSMCrtl, Halcyon, JXMapViewer, JMapViewer, JXMapKit, kogutowicz, libchamplain, Mapsforge, ...
9. Frameworks
# Osmium
# Osmosis
#OSMNavigation
# libOSM
# Cloudmade
Mas info: http://wiki.openstreetmap.org/wiki/Frameworks
Muchas gracias!
Lluís Vicens
SIGTE - Universitat de Girona
Cosas que hacer con OSM
By sigte2014
Cosas que hacer con OSM
Webinar UNIGIS
- 1,495