métodos para la exportación de datos de openstreetmap

5
Exportación de datos OpenStreetMap Autor: Jesús Gómez Fernández Fecha: 20/01/2012 Licencia: Creative Commons Reconocimiento-NoComercial-CompartirIgual Resumen: Descripción de algunos métodos de exportación de datos provenientes de la base de datos OpenStreetMap para el taller de Geoinquietos Cantabria. Introducción y cuadro resumen Existen diferentes métodos para exportar datos en formato .osm de Openstreetmap a otros tipos de archivos SIG e imagen. Para conocer los diferentes modos de exportación de datos OSM, es recomendable consultar la sección sobre exportación [http://wiki.openstreetmap.org/wiki/ES:Export] que tiene disponible la wiki de OpenStreetMap. No obstante, aquí se muestra una tabla resumen y una descripción de varios métodos útiles. Nombre Funcionalidad clave Formatos de exportación Pestaña Exportar Exportación de áreas limitadas a través de la web. OSM, PNG, JPG, SVG, PDF, Postscript o HTML Descarga directa Descarga de archivos desde las web. ESRI Shapefile, OSM XML, Garmin Map Files, Navit, GPX POI, TomTom POI,Adobe Illustrator osm2pgsql Exportación definida por un archivo de etiquetas a exportar. PostgreSQL/PostGIS Osmosis Aplicación para la gestión masiva de datos OSM. PostgreSQL/PostGIS y MySQL OSMembrane Interfaz gráfica para Osmosis. PostgreSQL/PostGIS y MySQL Imposm Otra herramienta de importación. PostgreSQL/PostGIS OSMTranslator Software freeware para Windows. Mapinfo TAB o Esri Shapefile OSM2SHP Aplicación para Windows. Esri Shapefile osm2gml.py Script en Python. GML Geoconverter Servicio on line Mapinfo MID, ESRI Shapefile, KML, GPX, CSV o GML Quantum GIS Software SIG con pluging para datos OSM. Cualquier formato soportado por OGR Open Talend Studio Componente para exportación de datos OSM. ESRI Shapefile Taho Exportación de teselas georreferenciadas. PNG y JPG con varios archivos de georreferenciación Osm2pgrouting Es una herramienta para importar los datos OSM a una base de datos PostGIS para su uso con pgRouting PostgreSQL/PostGIS Pestaña Exportar de la web Desde El Mapa de la web de OpenstreetMap [http://www.openstreetmap.org/] el usuario puede realizar una exportación del mapa visible en el visor a diferentes archivos de imagen (raster o vectorial), un archivo .osm (XML) o generar un código HTML para añadir a una página web. Para ello, debe ajustar con el visor el área del mapa a exportar y pulsar en la pestaña Exportar. Descarga directa desde la web Las alternativas más conocidas son: En el caso de Geofabrik [http://download.geofabrik.de/osm/], pone a disposición la descargar de archivos con actualización diaria en formatos OSM y Esri Shapefile. Desde el site de descargas de Cloudmade [http://downloads.cloudmade.com/] se pueden descargar archivos en diferentes formatos (OSM XML, Garmin Map Files, Esri Shapefile, Navit, GPX POI, TomTom POI,Adobe Illustrator). Los archivos son actualizados una vez a la semana. Una ventaja de descargarlo desde Cloudmade es que se pueden descargar los archivos divididos por Comunidades Autónomas lo que hace innecesario descargar todo el país. Desde la sección OSM Map On Garmin/Download [http://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/Download] de la propia web de OpenStreetMap se puede acceder a un listado de direcciones donde es posible descargar mapas Garmin para incorporarlos a dispositivos GPS de esta marca. En muchos casos son mapas routeables, es decir con capacidades de calcular rutas óptimas. Es importante indicar que los archivos Shapefile tanto de Geofabrik como de Cloudmade provienen de una exportación con 1

Upload: jesus-gomez

Post on 10-Jun-2015

10.645 views

Category:

Technology


3 download

DESCRIPTION

Descripción de algunos métodos de exportación de datos provenientes de la base de datos OpenStreetMap para el taller de Geoinquietos Cantabria (http://wiki.osgeo.org/wiki/Geoinquietos_Cantabria).

TRANSCRIPT

Page 1: Métodos para la exportación de datos de OpenStreetMap

Exportación de datos OpenStreetMap

Autor: Jesús Gómez Fernández

Fecha: 20/01/2012

Licencia: Creative Commons Reconocimiento-NoComercial-CompartirIgual

Resumen: Descripción de algunos métodos de exportación de datos provenientes de la base de datosOpenStreetMap para el taller de Geoinquietos Cantabria.

Introducción y cuadro resumen

Existen diferentes métodos para exportar datos en formato .osm de Openstreetmap a otros tipos de archivos SIG e imagen. Paraconocer los diferentes modos de exportación de datos OSM, es recomendable consultar la sección sobre exportación[http://wiki.openstreetmap.org/wiki/ES:Export] que tiene disponible la wiki de OpenStreetMap. No obstante, aquí se muestra una tablaresumen y una descripción de varios métodos útiles.

Nombre Funcionalidad clave Formatos de exportación

Pestaña Exportar Exportación de áreas limitadas a través de la web. OSM, PNG, JPG, SVG, PDF, Postscript o HTML

Descarga directa Descarga de archivos desde las web.ESRI Shapefile, OSM XML, Garmin Map Files, Navit, GPX POI,TomTom POI,Adobe Illustrator

osm2pgsql Exportación definida por un archivo de etiquetas a exportar. PostgreSQL/PostGIS

Osmosis Aplicación para la gestión masiva de datos OSM. PostgreSQL/PostGIS y MySQL

OSMembrane Interfaz gráfica para Osmosis. PostgreSQL/PostGIS y MySQL

Imposm Otra herramienta de importación. PostgreSQL/PostGIS

OSMTranslator Software freeware para Windows. Mapinfo TAB o Esri Shapefile

OSM2SHP Aplicación para Windows. Esri Shapefile

osm2gml.py Script en Python. GML

Geoconverter Servicio on line Mapinfo MID, ESRI Shapefile, KML, GPX, CSV o GML

Quantum GIS Software SIG con pluging para datos OSM. Cualquier formato soportado por OGR

Open TalendStudio

Componente para exportación de datos OSM. ESRI Shapefile

Taho Exportación de teselas georreferenciadas. PNG y JPG con varios archivos de georreferenciación

Osm2pgroutingEs una herramienta para importar los datos OSM a una base de datosPostGIS para su uso con pgRouting

PostgreSQL/PostGIS

Pestaña Exportar de la web

Desde El Mapa de la web de OpenstreetMap [http://www.openstreetmap.org/] el usuario puede realizar una exportación del mapavisible en el visor a diferentes archivos de imagen (raster o vectorial), un archivo .osm (XML) o generar un código HTML paraañadir a una página web. Para ello, debe ajustar con el visor el área del mapa a exportar y pulsar en la pestaña Exportar.

Descarga directa desde la web

Las alternativas más conocidas son:

En el caso de Geofabrik [http://download.geofabrik.de/osm/], pone a disposición la descargar de archivos con actualizacióndiaria en formatos OSM y Esri Shapefile.Desde el site de descargas de Cloudmade [http://downloads.cloudmade.com/] se pueden descargar archivos en diferentesformatos (OSM XML, Garmin Map Files, Esri Shapefile, Navit, GPX POI, TomTom POI,Adobe Illustrator). Los archivos sonactualizados una vez a la semana. Una ventaja de descargarlo desde Cloudmade es que se pueden descargar los archivosdivididos por Comunidades Autónomas lo que hace innecesario descargar todo el país.Desde la sección OSM Map On Garmin/Download [http://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/Download] de lapropia web de OpenStreetMap se puede acceder a un listado de direcciones donde es posible descargar mapas Garmin paraincorporarlos a dispositivos GPS de esta marca. En muchos casos son mapas routeables, es decir con capacidades decalcular rutas óptimas.

Es importante indicar que los archivos Shapefile tanto de Geofabrik como de Cloudmade provienen de una exportación con

1

Page 2: Métodos para la exportación de datos de OpenStreetMap

pérdida. Es decir, solo se han guardado aquellos atributos de elementos con las etiquetas más comunes.

osm2pgsql

osm2pgsql [http://wiki.openstreetmap.org/wiki/Osm2pgsql] es una aplicación que importa los datos provenientes de OpenStreetMap(.osm) a una base de datos PostgreSQL/PostGIS. Osm2pgsql es una utilidad de conversión con pérdida. Es decir, agregacaracterísticas que tienen determinadas etiquetas y que son definidas en el archivo config, y convierte los nodos y ways a líneas ypolígonos.

Exportar un archivo OSM a PostGIS

Descargar e instalar osm2pgsql. Una opción para windows es descargar el paquete de instalación HOTOSM[https://github.com/hotosm/installer/downloads] que instala y configura automáticamente diferentes herramientas paragestionar datos de OSM, entre ellas el binario osm2pgsql. Este instalador además incluye Mapnik, Osmosis, y una variedadde herramientas útiles.Descargar un archivo .osm con datos de OpenStreetMap desde la web de proyecto, JOSM o desde Cloudmade[http://downloads.cloudmade.com/europe/southern_europe/spain/cantabria#downloads_breadcrumbs], por ejemplo. Desde Linuxpuedes hacerlo rápidamente con:

wget -O - http://download.geofabrik.de/osm/europe/monaco.osm.bz2 | bzcat > monaco.osm

Ejecutar el siguiente comando en el terminal:

osm2pgsql --slim -H localhost -U postgres -d osm -E EPSG:4326 ./miarchivo.osm

Donde:

–slim Indica el modo de arranque del osm2pgsql. Dejar por defecto.-H localhost Dirección de la base de datos: localhost.-U postgres Usuario de la base de datos: postgres-d osm Nombre de base de datos: osm./miarchivo.osm Directorio y nombre del fichero donde osm2pgsql debe buscar el archivo osm original. El archivo tambiénpuede estar comprimido, por ejemplo miarchivo.osm.bz2.

Estos son los parámetros por defecto. Osm2pgsql exportará a nuestra base de datos PostGIS todos aquellos elementosreferenciados en el archivo default.style (en el caso de Ubuntu este se encuentra en el directorio /usr/share/osm2pgsql. Sitrabajamos en Windows el archivo se suele encontrar en C:/Program Files/share/default.style).

En el caso de querer crear un archivo .style personalizado, se deberá indicar en la línea de comando dónde se encuentra este:

osm2pgsql --slim -H localhost -U postgres -d osm ./miarchivo.osm --style /home/jesus/Escritorio/miestilo.style

Otro ejemplo:

osm2pgsql --slim -H localhost -U postgres -d osm -E EPSG:4326 --style "C:/Program Files (x86)/HOTOSM/share/default.style" ./monaco.osm

En Linux se necesitan permisos de administrador para editar ese archivo. Por lo que habrá que abrir el explorado de archivo desdeconsola con permisos de superusuario (“kdesudo dolphin” o “gksu nautilus”) y editarle desde ahí.

Chuleta de opciones

Uso:

osm2pgsql [opciones] planet.osmosm2pgsql [opciones] planet.osm.{gz,bz2}osm2pgsql [opciones] file1.osm file2.osm file3.osm

Esto importará los datos desde uno o varios archivos OSM a un base de datos PostgeSQL para ser utilizado en el renderizadorMapnik, por ejemplo. Los parámetros opcionales en el momento de realizar la exportación son:

Parámetroresumido

Paŕametro extendido Descripción

-a –append Añade el archivo OSM a la base de datos sin eliminar los datos existentes.

2

Page 3: Métodos para la exportación de datos de OpenStreetMap

-b –bboxAplica un filtro con cuadro delimitador (bounding box) para los datos importados. Se debe de especificar como:minlon,minlat,maxlon,maxlat, de acuerdo al sistema de coordenadas del archivo osm. Por ejemplo: –bbox0.5,51.25,0.5,51.75

-c –create Elimina los datos existentes de la base de datos. Esta opción está por defecto si –append no se espedifica.

-d –database El nombre de la base de datos PostgreSQL a la que conecta (por defecto: gis).

-l –latlong Los datos se almacenan en grados de latitud y longitud.

-m –merc Los datos se guardan en la proyección esférica mercator adecuada (por defecto).

-M –oldmerc Almacena los datos en el antiguo formato mercator OSM.

-E –proj num Utiliza el identificador EPSG de la proyección requerida (-E EPSG:4326)

-u –utf8-sanitizeRepara los datos introducidos con mala codificación UTF8 (presentes en el planet de OSM anterior a Agosto de2007).

-p –prefix Añade un prefijo a los nombres de la tabla (por defecto planet_osm)

-s –slimAlmacena los datos temporalmente en la base de datos. Esto reduce de manera considerable el uso de memoriaRAM pero es mucho más lento.

-S –style Localización de archivo .style. Por defecto ./default.style.

-C –cache Únicamente para modo slim. Utiliza hasta una determinada cantidad de MB para cachear nodos. Por defecto 800.

-U –username Nombre del usuario en Postgresql.

-W –password Fuerza introducir la contraseña.

-H –host Nombre del servidor de la base de datos o localización.

-P –port Puerto del servidor de la base de datos.

-e–expire-tiles[min_zoom-]max_zoom

Crea una lista de caducidad de la tile.

-o –expire-output filename Nombre de salida para la lista de tiles caducadas.

-h –help Ayuda.

-v –verbose Salida Verbose.

Añadir -v para ver las proyecciones soportadas.

Utilizar -E para acceder a las proyecciones ESPG (generalmente en el directorio /usr/share/proj/epsg)

Osmosis

Utilizando osmosis [http://wiki.openstreetmap.org/wiki/Osmosis] podemos extraer aquellos elementos seleccionados de un archivoosm (comprimido en este caso) y guardarlos en otro:

osmosis --read-xml file="spain.osm.bz2" --node-key-value "power_source.wind" --write-xml file="spain.aerogeneradores.osm"

O mejor todavía, guardando los datos en una base de datos postgres:

osmosis --read-xml file="spain.osm.bz2" --node-key-value "power_source.wind" --write-pgsql host="localhost" database="osm" -

Osm2pgrouting

Osm2pgrouting [http://www.pgrouting.org/docs/tools/osm2pgrouting.html] es una herramienta para importar datos de OpenStreetMapa una base de datos PostGIS para su posterior uso con pgRouting, la librería que provee de capacidades de análisis de rutas paraPostgreSQL.

OSMembrane

OSMembrane [http://osmembrane.de] es un GUI o interfaz gráfica de usuario para Osmosis utilizado para procesar los datos deOpenStreetMap sin necesidad de usar líneas de comando. El entorno visual de OSMembrane es muy sencillo y se basa en lacreación de flujos de tareas, lo que permite realizar un fácil mantenimiento y tratamiento de los datos.

La primera vez que se inicie OSMembrane se deberá indicar, desde Extras → Change settings, la ruta donde se encuentra elarchivo osmosis.sh (linux) u osmosis.bin (windows) y josm.jar, si vamos a utilizar JOSM. Si el equipo tiene Linux, Osmosis seencuentra en el directorio /usr/bin/osmosis.

3

Page 4: Métodos para la exportación de datos de OpenStreetMap

Imposm

Imposm [http://imposm.org/docs/imposm/latest/] es un importador para datos de OpenStreetMap. Lee archivos XML y PBF (.osm.pbf,.osm.bz2 o .osm) y puede importar los datos a una base de datos PostgreSQL/PostGIS. Está diseñado para crear bases de datosoptimizadas para servicios de renderizado/WMS. Puede ser utilizado en sistemas Linux y MacOS.

Un comando básico de importación con Imposm es:

imposm --read --write --deploy-production-tables -U <user> -d <db> <datos.osm.pbf>

Para consultar la ayuda puedes mirar en:

imposm --help

OSMTranslator

OSMTranslator [http://www.polygongis.com/index.php/osm-translator-download/] es un software freeware para Windows que permitetransformar archivos en formato *.osm a ESRI Shapefiles o TAB de MapInfo directamente desde Internet. Lo desarrollaPolygonGIS y se puede descargar previo relleno de los campos nombre y email. Aquí se puede encontrar un breve manual de sufuncionamiento [http://mapeandobaeza.wikispaces.com/OSMTranslator].

OSM2SHP

OSM2SHP [http://code.google.com/p/osm2shp/downloads/list] es otra pequeña aplicación muy sencilla de utilizar que conviertearchivos con formato OSM de OpenStreetMap a ESRI Shapefile. Funciona en Windows y es necesario tener instalado Framework.Net 2.0.

Conversión a GML

Usando Python y xml.sax, es posible convertir un archivo OSM a formato GIS de intercambio estándar GML rápidamente. Hay unasecuencia de comandos [http://www.chzsoft.com.ar/geo/osm2gml.py.txt] que muestra cómo hacerlo. Se deberá crear un archivoosm2gml.py con este script y ejecutar desde la consola (en este caso en Unix) el siguiente comando:

cat yourfile.osm| ./osm2gml.py > yourfile.gml

Por defecto se exportan sólo ways (vías). Si en el código del script ajustamos exportNodes a valor 1 se exportarán correctamentetodos los nodos tengan una etiqueta name. Para más información ir aquí [http://wiki.openstreetmap.org/wiki/GML].

Geoconverter

Geoconverter [http://geoconverter.hsr.ch/index.php] es un servicio on line de la HSR Hochschule für Technik Rapperswil[http://www.hsr.ch] (University of Applied Sciences of Eastern Switzerland) que permite realizar conversiones de archivos OSM adiferentes tipos de formatos, entre ellos Mapinfo MID, ESRI Shapefile, KML, GPX, CSV o GML. Tiene un límite de 100 Mb para laconversión de los archivos y permite realizar transformaciones en los sistemas de coordenadas. Es necesario registrarse antes.

Quantum GIS

El software de código libre Quantum GIS dispone de un complemento llamado OpenStreetMap Plugin que permite ver y editardatos de OSM. Solo es necesario indicarle el bbox o recuadro con las coordenadas superior izquierda e inferior derecha del área adescargar o añadir una capa desde un archivo OSM ya descargado. Al cargar a nuestro proyecto el archivo OSM, QGIS permiteseleccionar que etiquetas se añadirán como columnas (campos). Estas etiquetas suelen ser las más comunes dentro del sistemade etiquetado de OSM.

No obstante, el resto de etiquetas y claves se almacena en un campo llamado tags. Con la herramienta de búsqueda de QGISpodemos realizar consultas SQL específicas para filtrar elementos por una determinada etiqueta o valor. La siguiente imagenmuestra, por ejemplo, una consulta para conocer los puntos con cajeros automáticos.

Una vez mostradas las capas, estas pueden ser fácilmente exportadas a otros formatos SIG, por ejemplo Shapefile.

4

Page 5: Métodos para la exportación de datos de OpenStreetMap