Faltan caminos de los datos de OpenStreetMap con ósmosis


9

Actualmente estoy tratando de extraer redes de carreteras de los vertederos de OpenStreetMap descargados en Geofabrik . Estoy usando el siguiente comando de ósmosis (versión 0.45) para extraer carreteras:

osmosis \
--rbf input.osm.pbf \
--tf reject-relations \
--tf accept-ways highway=motorway,motorway_link,trunk,trunk_link,primary,primary_link,secondary,secondary_link,tertiary,tertiary_link,unclassified,residential \
--tf reject-ways highway=construction \
--lp --wb output_roads.osm.pbf

Esto debería devolver un archivo que contiene todas las carreteras del automóvil, excepto las carreteras de servicio.

Sin embargo, faltan algunos (y a veces muchos) caminos. He intentado este comando en 3 archivos de entrada:

  • Región francesa "Midi-Pyrénées": la red de carreteras parece casi completa. La tabla de atributos contiene 72010 elementos.
  • toda Francia: faltan muchos caminos. La tabla de atributos contiene solo 65803 elementos (menos de una sola región). Todos los tipos de carreteras se ven afectados: primarios a residenciales. No hay ningún patrón obvio para las carreteras que faltan.
  • toda Europa: casi todas las carreteras faltan. La tabla de atributos contiene 62092 elementos (menos que toda Francia ...).

Supongo que hay alguna limitación que no conozco, ya sea en el comando de ósmosis o en el archivo de salida. ¿Qué estoy haciendo mal aquí?

Esto puede no estar relacionado, pero he intentado usar la --used-nodeopción para reducir el tamaño de los archivos de salida, pero esto siempre genera un error ( org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to create object stream writing to temporary file null.). No tengo ni idea de porqué.

Actualización 29/08/2018: también intenté usar osmfilter( input.o5m --keep="highway=" > output_roads.osm), con los mismos resultados. Probé osmosis y osmfilter tanto en Windows 7 como en Debian 9.5 (ambos de 64 bits).


Considere usar `--tf accept-ways highway = * \`, en su ejemplo no tiene en cuenta todo el tipo de carretera.
obchardon

1
¿Estás ejecutando una versión reciente de osmosis? ¿Y tiene suficiente espacio libre en el disco?
AndreJ

1
Suena bien. has intentado --rb?
AndreJ

2
your suggestion gives almost the sames results (65356 elements for France): Esto me llamó la atención: 65356 es exactamente una limitación de valor de 16 bits (2 ^ 16), como un valor máximo de Int16. Supongo que esa debe ser la limitación que estás buscando. Tal vez no pueda obtener más de 2 ^ 16 características máximas.
Gisnside

2
65356 es un arenque rojo, 2 ^ 16 es 65536.
bugmenot123

Respuestas:


1

Le recomendaría que use el sitio HOT para descargar datos de OSM. Puede descargar datos para una ubicación específica o incluso dibujar un límite para un área. y descarga solo el camino.

https://export.hotosm.org/en/v3/exports/new/describe


No estoy seguro de si esto responde a la pregunta de cómo hacer esto en ósmosis, pero si la respuesta es que no puede hacerlo en ósmosis y puede hacerlo en HOT, entonces creo que necesita al menos mostrar cómo hacer consultas comparables a aquellos en la pregunta con el número de resultados devueltos.
nmtoken
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.