En osm2pgsql, ¿cómo se llena la tabla planet_osm_roads?

11

Estoy usando osm2pgsql para poblar una base de datos OSM de Norteamérica desde planet.osm.

Me gusta lo simple que es el esquema PostGIS resultante, pero estoy un poco confundido por su contenido.

Tengo las dos mesas planet_osm_roadsy planet_osm_line. Supuse que planet_osm_roads contenía todos los datos de la autopista, pero luego descubrí que solo contiene una fracción de las carreteras en algunos de los tipos de 'autopistas'.

Por ejemplo, planet_osm_line tiene más de 12,000,000 de líneas con un valor 'autopista' de 'residencial'. Sin embargo, planet_osm_roads tiene solo 2,000. En comparación, ambas tablas tienen el mismo número de características de 'autopista'. Mirando los datos, no puedo decir por qué algunas características estarían en una tabla pero no en la otra.

Realmente me gustaría ver las reglas que usa osm2pgsql para dirigir las características de línea en cada tabla.

Intenté mirar a través del código fuente osm2pgsql para arrojar luz sobre el misterio, pero hasta ahora no he encontrado lo que busco.

Cualquier sugerencia muy bienvenida.

tonto
fuente

Respuestas:

9
  • planet_osm_line: contiene todas las formas importadas
  • planet_osm_point: contiene todos los nodos importados con etiquetas
  • planet_osm_polygon: contiene todos los polígonos importados. Las relaciones parecen estar resueltas para eso.
  • planet_osm_roads: contiene un subconjunto planet_osm_lineadecuado para renderizar a bajos niveles de zoom. planet_osm_linecontiene demasiados elementos para representar en mapas generales.

use osm_line

Para ver un buen ejemplo, visite: http://www.opencyclemap.org/?zoom=5&lat=39.98469&lon=-99.18887&layers=B00, que muestra las rutas / formas de color coordinadas.

fuente http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema#Tables_Created

Mapperz
fuente
4

planet_osm_roads contiene solo formas que se utilizan para representar niveles bajos de zoom, como autopistas, ríos, etc. No contiene detalles como carreteras residenciales, arroyos y otras características que normalmente se muestran solo con zoom alto.

Las definiciones de transformación de etiqueta C predeterminadas de qué agregar a la tabla de carreteras son tagtransform.cpp

Si desea personalizar esto, probablemente sea mejor escribir una transformación de etiqueta lua . Por ejemplo, puede ver style.lua , la muestra de transformación de etiqueta lua.

Paul Norman
fuente