41 votos

¿Cargar datos de OpenStreetMap en QGIS?

En QGIS 1.8 utilicé el plugin openstreetmap para solicitar datos al servidor, o abrir un archivo .osm XML, que produjo 3 capas (polígonos, polilíneas y puntos) en QGIS.

Esto fue genial (más o menos el error de 64 bits que afecta mucho a la zona recién mapeada en la que trabajo), pero ¿cómo lo hago en QGIS 2.x?

No encuentro ninguna documentación actualizada al respecto.

En el menú de vectores, he probado a importar desde servidores osm, obtengo un archivo .osm, pero luego me quedo atascado. Hay una opción de menú para cargar un archivo XML, pero produce un db spatialite, que aparentemente sólo tiene tablas no geométricas cuando intento añadirlo como capa spatialite. Si abro la tabla de atributos, puedo ver los ids de los nodos, los caminos y demás, pero no puedo averiguar cómo hacer uso de ellos.

También he intentado añadir una capa vectorial desde un archivo .osm XML. Me sale una ventana de gpsbabel que no muestra nada, y finalmente un mensaje de fuente de datos no válida en QGIS.

45voto

Brad8118 Puntos 1285

Actualización para QGIS 3.x : El antiguo importador de OSM de QGIS 2 fue abandonado en QGIS 3 debido a un montón de errores no resueltos. El plugin QuickOSM también permite leer archivos osm raw. En su lugar, puede utilizar el usuario Capa - Añadir Capa - Añadir Capa Vectorial. En ese caso, los datos OSM se abren con GDAL como se documenta en http://gdal.org/drv_osm.html


En QGIS 2.x Hay tres pasos a seguir

  1. Consigue un archivo OSM, puedes conseguirlo usando josm o overpass o cualquier otra fuente. Tiene que ser un xml válido. También puedes descargarlo de qgis Vectorial > OpenStreetMap > Descarga de datos OSM menú, pero a veces no da resultado. Yo recomendaría usar paso elevado turbo .
  2. Vectorial > OpenStreetMap > Importar topología desde XML Esto, como has dicho, producirá una base de datos spatialite con tablas no geométricas. Esto creo que es la topología.
  3. Por último, puede obtener datos mediante Vectorial > OpenStreetMap > Exportar topología a Spatialite Aquí tienes que dar el archivo db hecho anteriormente y al igual que en qgis 1.8 tendrás la opción de elegir puntos, líneas o polígonos . Por debajo de eso en etiquetas exportadas puede cargar todas las etiquetas contenidas en el archivo y seleccionar sólo las que necesite. Esta es una característica adicional que en 1.8.

La capa se agrega al mapa, si quieres todos los nodos, formas puedes repetir el paso 3 con otras opciones.

http://wiki.openstreetmap.org/wiki/QGIS#QGIS2_OpenStreetMap_Vectors

19voto

tobes Puntos 19

Me pareció que descargar los datos de OSM usando el plugin y pasar por los movimientos de importación y exportación era muy tedioso. Por eso escribí una solución diferente: http://anitagraser.com/2014/05/31/a-guide-to-googlemaps-like-maps-with-osm-in-qgis/

Resumen:

Los archivos OSM sin procesar pueden ser bastante grandes. Por eso es preferible descargar el binario comprimido .pbf en lugar del formato XML .osm. Como fuente de descarga, recomendaría Geofabrik .

Para el primer paso de preprocesamiento: extraer el área de interés, podemos utilizar Osmosis:

C:\Users\anita_000\Geodata\OSM_Noirmoutier>..\bin\osmosis.bat --read-pbf pays-de-la-loire-latest.osm.pbf --bounding-box left=-2.59 bottom=46.58 right=-1.44 top=47.07 --write-xml noirmoutier.osm

Aunque QGIS también puede cargar archivos .osm, he comprobado que el rendimiento y el acceso a los atributos mejoran mucho si el archivo .osm se convierte a spatialite.

C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm

En QGIS, podemos cargar los puntos, las líneas y los multipolígonos utilizando Añadir capa de SpatiaLite. Cuando cargamos las tablas de spatialite, hay algunos problemas:

  • No hay ningún polígono de tierra. En su lugar, hay características de línea de "costa".
  • Faltan la mayoría de los polígonos de los ríos. En su lugar hay rasgos de línea de "ribera".

Crear los polígonos del río que faltan no es un gran problema:

  1. seleccionar todas las líneas donde waterway=riverbank.
  2. utilice la herramienta Poligonizar de la caja de herramientas de procesado para crear automáticamente polígonos a partir de las áreas delimitadas por las líneas de ribera seleccionadas. (Tenga en cuenta que el Procesamiento por defecto opera sólo en las características seleccionadas, pero esta configuración puede cambiarse en los ajustes de Procesamiento).

La creación del polígono de tierra (o del polígono de mar si lo prefiere por alguna razón) es un poco más complicada ya que la mayoría de las veces la línea de costa no estará cerrada por la simple razón de que a menudo estamos cortando un trozo de tierra del continente principal. Por lo tanto, antes de poder utilizar las herramientas de poligonización, tenemos que cerrar la zona. Para ello, sugiero seleccionar primero la línea de costa utilizando "other_tags" LIKE '%"natural"=>"coastline"%' y crear una nueva capa a partir de esta selección (guardar selección como ) y editarla (¡no olvides activar el ajuste!) para añadir líneas para cerrar la zona. Luego poligonice.

7voto

SpliFF Puntos 214

Si no te gusta el plugin, obtén los datos de OSM que necesitas con la API Overpass, y añade el resultado a QGIS con Add Vector Layer (etiquetado All files filtro).

QGIS 2.0 utiliza el importador OSM ogr2ogr de GDAL 1.10 que hace un buen trabajo.

El soporte de relaciones parece ser mejor de lo que hace el plugin en este momento.

Sólo asegúrate de descargar formas y relaciones completamente , es decir, todos los nodos de los caminos, y todos los miembros de las relaciones, con todos sus nodos.

5voto

Blair Conrad Puntos 56195

Ya sabes, no necesito para poner los datos en SpatialLite. Puedes hacerlo:

  1. Descargar los datos (Vector > OpenStreetMap > Descargar datos, crea un archivo .osm)
  2. Cargue los datos (archivo .osm) como una capa vectorial (Capa > Añadir capa vectorial). Después de seleccionar el archivo, te preguntará qué capas quieres añadir (ya que GDAL hace archivos separados para cada tipo: Punto, Línea, MultiLínea, MultiPolígono, GeomCollection). Selecciona lo que quieras y cárgalo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X