Descargando datos de OpenStreetMap

43

¿Existe una manera directa de descargar datos de OpenStreetMap (OSM)?

Usando Norteamérica como ejemplo, me doy cuenta de que Cloudmade (Cloudmade ya no proporciona descargas de OSM) y Geofabrik ( http://download.geofabrik.de/osm/north-america/ ) ambas proporcionan descargas, pero los archivos son enormes (0.5 GB - 4 GB). También he intentado usar la barra de herramientas QGIS-OSM pero no he tenido mucha suerte al hacer esto, ya que, de forma similar al sitio web de OSM, el área que puede seleccionar es muy pequeña. La cantidad de datos que quiero descargar está en el nivel de la ciudad.

Finalmente, ¿hay una manera fácil de usar datos OSM? Si elijo descargar, OpenStreetMap XML Datano puedo abrir los archivos osm.xml usando QGIS (incluso usando la función de importación de la barra de herramientas QGIS-OSM). Me pregunto si me falta una forma más obvia de tratar con los datos.


¡Solo quiero señalar el muy útil clon de StackExchange para obtener ayuda con problemas relacionados con OSM! http://help.openstreetmap.org/

djq
fuente
1
pero los archivos son enormes? (0.5gb - 4gb) no en el mundo SIG - 5TB + se está
volviendo
lo siento, enorme para mi pequeña máquina. ¡No tanto 0.5gb, pero 4gb es inmanejable para mí!
djq
He explorado esto un poco más, encuentro que los datos proporcionados por geofabrik son más completos que los creados en la nube.
djq
1
@Nathanus Confieso que acabo de registrarme ..... Es cierto, pero realmente se está centrando en cada pequeño detalle sobre OSM, muchos de los cuales están relacionados con la programación y no son específicos de SIG. Aunque si existieran subsitios de subsitios sería perfecto. ¡Las fuentes aquí son mucho más nítidas!
djq
1
@djq el sitio de descargas de CloudMade está devolviendo un 404 ahora, ¿puede haber sido descontinuado ?
Stephen Lead el

Respuestas:

33

JOSM

Quizás la respuesta más fácil a ambas partes de su pregunta es utilizar JOSM. El editor Java OpenStreetMap . Es fácil descargar datos y fácil de "usar" datos.

Para descargar, JOSM proporciona una interfaz simple que le permite seleccionar un área rectangular para descargar, sin embargo, la descarga a través de la API de edición. Esto rechazará cualquier solicitud que sea demasiado grande, y si es demasiado grande, pasará mucho tiempo pensando en ello. En general, toda una ciudad es demasiado grande, pero es posible que pueda obtener una buena cantidad de datos solicitando varias áreas rectangulares.

Para "usar" los datos, JOSM le permite ver los datos y tener un buen vistazo en todas las etiquetas. La función de búsqueda es bastante poderosa, lo que le permite seleccionar elementos con etiquetas particulares, pero más allá de eso realmente depende de qué tipo de "uso" tenga en mente. Puede configurar la forma en que JOSM muestra los datos hasta cierto punto, pero para obtener mapas atractivos, es probable que desee ver las herramientas de representación diseñadas para trabajar con archivos OSM. También puede ver la conversión, por ejemplo, a shapefile , pero teniendo en cuenta que los datos son ... diferentes ... a lo que podría estar acostumbrado, por lo que esta conversión siempre es un poco perdida.

Como un aparte ... Aunque es un visor de datos razonablemente bueno, el propósito principal de JOSM es ser un editor de OpenStreetMap . Simplemente haga clic en "cargar" para enviar los cambios a OpenStreetMap (deberá crear una cuenta de OpenStreetMap). Si aún no ha intentado la edición de OpenStreetMap, realmente debería hacerlo . Cualquiera que tenga un interés pasajero en los mapas debería intentarlo. Agregue su restaurante local al mapa o algo así. Es la única forma de obtener una comprensión adecuada de OpenStreetMap, ¡y es divertido!

Archivos más grandes

¿Qué pasa si una ciudad es demasiado grande para cargar en JOSM? Hay algunas otras opciones (como se indica a continuación), pero cuando se trata con esta cantidad de datos, no se puede escapar del hecho de que será un poco difícil "usar". Realmente estás fuera del ámbito de las pequeñas y divertidas herramientas de GUI y en SIG de Big Data La entrada más fácil a esto (que no es tan fácil) probablemente sería cargar un archivo .osm grande en la base de datos PostGIS usando osm2pgsql , y luego usar las herramientas de escritorio GIS para verlo.

Extractos de ciudad

Este servicio download.bbbike.org ofrece descargas preparadas para algunas ciudades del mundo.

Ósmosis

Si necesita una ciudad diferente o un cuadro delimitador diferente, entonces necesita obtener una de las descargas masivas que mencionó (ya sea un extracto del país o todo el planeta ) y luego extraer una pieza de ella.

La osmosis es la herramienta más utilizada para esto. Es una herramienta de línea de comandos de Java que le permite extraer un cuadro delimitador en la línea de comandos de Unix con algo como esto:

bzcat downloaded.osm.bz2 | osmosis\
  --read-xml enableDateParsing=no file=-\
  --bounding-box top=49.5138 left=10.9351 bottom=49.3866 right=11.201 --write-xml file=-\
  | bzip2 > extracted.osm.bz2

Esto muestra cómo normalmente evitaría llenar su disco con datos XML hinchados al descomprimir un archivo .bz2, canalizar la salida en ósmosis y luego volver a canalizar el XML resultante en un archivo bzipped.

Entonces, tal vez esto no se ajuste a su definición de "fácil", pero la ósmosis es una herramienta que vale la pena aprender si está interesado en manipular grandes archivos .osm. ¡Solo tienes que encontrar el comando correcto! (buen tema para otra pregunta, supongo)

Harry Wood
fuente
He usado JOSM, es muy agradable. Sin embargo, estoy interesado en grandes cantidades de datos, generalmente una ciudad entera que no puedo hacer dentro de ella.
djq
Extendí por respuesta para entrar en algunas de las opciones para trabajar con archivos más grandes. Desafortunadamente no es tan fácil, pero espero que ayude.
Harry Wood
Gracias @ Harry. Terminé usando osmosisLinux y funcionó bien. Actualmente quiero usar esta configuración en Win 7 y estoy emocionado de ver que hay un .exebzcat. La última vez que revisé no había. Desafortunadamente, no parece haber una manera fácil de usar osm2pgsqlen Windows, de lo contrario, esa sería mi opción ideal.
djq
24

Descargar OSM con QGIS a pedido

ingrese la descripción de la imagen aquí

http://mapperz.blogspot.com/2009/11/openstreetmap-data-on-demand-with.html

Mapperz
fuente
2
+1 ¡Guau, eso fue profético! Respondiste esta pregunta 16 meses antes de que apareciera :-).
whuber
1
Tengo un condensador de flujo en.wikipedia.org/wiki/DeLorean_time_machine#Flux_capacitor
Mapperz
Solo una nota sobre esto: funciona en la versión actual de QGIS que estoy usando (1.7), pero solo permite la descarga de áreas muy pequeñas.
DJ
cita del blog de Mapperz "Los datos se han descargado directamente de los servidores de Open Street Map [datos más actualizados]. ** Existen límites de área controlados por los servidores de OpenStreetMap, el complemento le avisará de este problema si es necesario"
Mapperz
@celenius: el límite de tamaño está ahí porque este servicio web OSM está diseñado para propósitos de mapeo (es decir, descargar áreas pequeñas, editarlas y volver a cargarlas). Usarlo solo para fines de solo lectura generalmente está mal visto porque carga la infraestructura OSM ya sobrecargada.
Igor Brejc
15

La respuesta simple es no, no hay una manera rápida y fácil de hacer esto. Si desea datos a nivel de ciudad para toda América del Norte, será un archivo enorme. Si desea un área más pequeña, CloudMade hace archivos de estado por estado. Puedes ver mis notas sobre el proceso en http://ian01.geog.psu.edu/geoserver_docs/data/openstreetmap/osm.html pero no me divertí mucho. Empecé a mirar Osmosis (http://wiki.openstreetmap.org/wiki/Osmosis) pero se me acabó el tiempo antes de que pudiera hacer mucho, pero puede ser una solución a su problema.

En cuanto al uso de datos OSM, puede optar por su enfoque no estándar / neogeogrpahy y usar mapnik, etc. o importar los datos a PostGIS y hacer que funcione en algunas herramientas SIG adecuadas.

Ian Turton
fuente
6

Haciéndose eco de la sugerencia de @iant, si está buscando solo datos de EE. UU., ¿Por qué no considera simplemente descargar una capa estado por estado para su área de interés particular de Cloudmade ? Y si su área de interés puede ser solo un par de datos del estado, la forma más sencilla de usar los datos sería descargar los extractos de archivos de forma ( ejemplo del Estado de Oregon ) que puede usar en prácticamente cualquier programa SIG común.

RyanDalton
fuente
Actualización: Cloudmade ya no existe, pero en estos días el servicio de descarga de geofabrik ofrece descargas estatales para los EE. UU. Aquí: download.geofabrik.de/north-america.html
Harry Wood
4

Probablemente, la forma más fácil y limpia de descargar datos OSM para un área de mapa arbitraria sería utilizar uno de los servidores OSMXAPI . La API OSMXAPI está destinada a ser utilizada para acceso de solo lectura a la geo. datos (a diferencia de la API OSM primaria que está orientada a la edición ). También permite la descarga de áreas más grandes que la API primaria.

Una de las formas de acceder a OSMXAPI es utilizar la pestaña Exportar en http://www.openstreetmap.org/ (elija el botón de opción "Datos XML OpenStreetMap" ).

Igor Brejc
fuente
¿Tienes un servidor recomendado? Intenté algunos y obtuve errores de tiempo de espera (creo). Desde entonces he estado trabajando con una copia de todo el mundo en una computadora local.
djq
Usualmente uso este: open.mapquestapi.com/xapi/api/0.6 .
Igor Brejc
1
OSMXAPI siempre fue un poco extraño, y en estos días ya no existe como un servicio en ejecución en ninguna parte. El equivalente más cercano es el más poderoso Overpass_API , pero hay algunos otros sitios web que también lo hacen extract.bbbike.org y export.hotosm.org
Harry Wood
3

La compañía WeoGeo ahora permite descargas gratuitas de datos de OpenStreetMap. Puede dibujar un esquema del área para la que desea datos y se genera un archivo.

djq
fuente