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  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

Made with Slides.com