Як у osm2pgsql заселяється таблиця planet_osm_roads?


11

Я використовую osm2pgsql для заселення бази даних ОСМ у Північній Америці від planet.osm.

Мені подобається, наскільки проста схема отримання PostGIS, але я трохи збентежений її вмістом.

У мене є дві таблиці planet_osm_roadsі planet_osm_line. Я припускав, що planet_osm_roads містить усі дані шосе, але потім виявив, що він містить лише частину доріг у деяких типах "шосе".

Наприклад, planet_osm_line налічує понад 12 000 000 ліній зі значенням "шосе" - "житловий". Однак планета_osm_roads налічує лише 2000. Для порівняння, обидві таблиці мають однакову кількість функцій "автомобільної дороги". Переглядаючи дані, я не можу сказати, чому деякі функції будуть в одній таблиці, а не в іншій.

Я дуже хотів би бачити правила, які osm2pgsql використовує для спрямування функцій рядків у кожну таблицю.

Я спробував переглядати вихідний код osm2pgsql, щоб пролити світло на таємницю, але поки що я не знайшов, що мені потрібно.

Будь-які пропозиції дуже вітаються.

Відповіді:


9
  • planet_osm_line: містить усі імпортовані способи
  • planet_osm_point: містить усі імпортовані вузли з тегами
  • planet_osm_polygon: містить усі імпортовані багатокутники. Зв’язки, здається, для цього вирішені.
  • planet_osm_roads: містить підмножину, що planet_osm_lineпідходить для візуалізації при низьких масштабах. planet_osm_lineмістить занадто багато елементів для відображення на оглядових картах.

використовувати osm_line

Для хорошого прикладу відвідайте - http://www.opencyclemap.org/?zoom=5&lat=39.98469&lon=-99.18887&layers=B00, де відображаються маршрути / шляхи, координовані кольором.

джерело http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema#Tables_Create


4

planet_osm_roads містить лише способи, що використовуються для візуалізації низького масштабу, такі як автомобільні дороги, річки тощо. Він не містить деталей, таких як житлові дороги, потоки та інші інші функції, які зазвичай надаються лише при великому масштабі.

Визначення перетворення тегів C за замовчуванням, що потрібно додати до таблиці доріг, є tagtransform.cpp

Якщо ви хочете налаштувати це, вам, мабуть, найкраще написати трансформацію тегів lua . Наприклад, ви можете переглянути style.lua , зразок трансформації тегу lua.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.