Dalam osm2pgsql bagaimana tabel planet_osm_roads terisi?


11

Saya menggunakan osm2pgsql untuk mengisi basis data OSM Amerika Utara dari planet.osm.

Saya suka betapa sederhananya skema PostGIS yang dihasilkan, tapi saya agak bingung dengan isinya.

Saya memiliki dua tabel planet_osm_roadsdan planet_osm_line. Saya berasumsi bahwa planet_osm_roads berisi semua data jalan raya, tetapi kemudian menemukan bahwa itu hanya berisi sebagian kecil jalan di beberapa jenis 'jalan raya'.

Sebagai contoh, planet_osm_line memiliki lebih dari 12.000.000 garis dengan nilai 'jalan raya' dari 'perumahan'. Namun, planet_osm_roads hanya memiliki 2.000. Sebagai perbandingan, kedua tabel memiliki jumlah fitur 'jalan raya' yang sama. Melihat data yang saya tidak tahu mengapa beberapa fitur akan berada di satu tabel tetapi tidak yang lain.

Saya benar-benar ingin melihat aturan yang digunakan osm2pgsql untuk mengarahkan fitur garis ke setiap tabel.

Saya mencoba mencari melalui kode sumber osm2pgsql untuk menjelaskan misteri tetapi sejauh ini saya belum menemukan apa yang saya cari.

Ada saran sangat welcome.

Jawaban:


9
  • planet_osm_line: berisi semua cara yang diimpor
  • planet_osm_point: berisi semua node yang diimpor dengan tag
  • planet_osm_polygon: berisi semua poligon yang diimpor. Hubungan tampaknya diselesaikan untuk itu.
  • planet_osm_roads: berisi subset yang planet_osm_linecocok untuk rendering pada level zoom rendah. planet_osm_linemengandung terlalu banyak elemen untuk diurai di peta ikhtisar.

gunakan osm_line

Untuk contoh yang baik kunjungi - http://www.opencyclemap.org/?zoom=5&lat=39.98469&lon=-99.18887&layers=B00 yang menunjukkan rute / cara warna terkoordinasi.

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


4

planet_osm_roads hanya berisi cara yang digunakan untuk rendering tingkat zoom rendah, seperti motor, sungai, dll. Ini tidak mengandung detail seperti jalan perumahan, aliran dan berbagai fitur lainnya yang biasanya diberikan hanya pada zoom tinggi.

Tag default mengubah definisi dari apa yang akan ditambahkan ke tabel jalan adalah tagtransform.cpp

Jika Anda ingin menyesuaikan ini, sebaiknya Anda menulis transformasi lua tag . Sebagai contoh, Anda dapat melihat style.lua , contoh lua tag transform.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.