Trong osm2pgsql bảng hành tinh_osm_roads được điền như thế nào?


11

Tôi đang sử dụng osm2pgsql để điền vào cơ sở dữ liệu OSM ở Bắc Mỹ từ hành tinh.osm.

Tôi thích lược đồ PostGIS đơn giản như thế nào, nhưng tôi hơi bối rối bởi nội dung của nó.

Tôi có hai bảng planet_osm_roadsplanet_osm_line. Tôi giả định rằng hành tinh_osm_roads chứa tất cả dữ liệu đường cao tốc, nhưng sau đó phát hiện ra rằng nó chỉ chứa một phần nhỏ các con đường trong một số loại 'đường cao tốc'.

Ví dụ: hành tinh_osm_line có hơn 12.000.000 dòng với giá trị 'đường cao tốc' là 'khu dân cư'. Tuy nhiên, hành tinh_osm_roads chỉ có 2.000. Khi so sánh cả hai bảng có cùng số lượng tính năng 'đường cao tốc'. Nhìn vào dữ liệu tôi không thể biết tại sao một số tính năng sẽ nằm trong một bảng mà không phải là các tính năng khác.

Tôi thực sự muốn xem các quy tắc mà osm2pgsql sử dụng để hướng các tính năng dòng vào mỗi bảng.

Tôi đã thử xem qua mã nguồn osm2pgsql để làm sáng tỏ bí ẩn nhưng cho đến nay tôi vẫn chưa tìm thấy những gì tôi đang theo đuổi.

Mọi góp ý rất hoan nghênh.

Câu trả lời:


9
  • hành tinh_osm_line: chứa tất cả các cách nhập
  • hành tinh_osm_point: chứa tất cả các nút được nhập với các thẻ
  • hành tinh_osm_polygon: chứa tất cả các đa giác nhập khẩu. Các mối quan hệ dường như được giải quyết cho điều đó.
  • hành tinh_osm_roads: chứa một tập hợp con planet_osm_linephù hợp để hiển thị ở mức thu phóng thấp. planet_osm_linechứa quá nhiều yếu tố để hiển thị trên bản đồ tổng quan.

sử dụng osm_line

Để xem ví dụ hay, hãy truy cập - http://www.opencyclemap.org/?zoom=5&lat=39.98469&lon=-99.18887&layers=B00 hiển thị các tuyến đường / cách phối màu.

nguồn http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema#Tables_Created


4

planet_osm_roads chỉ chứa các cách được sử dụng để hiển thị mức thu phóng thấp, chẳng hạn như đường cao tốc, sông, v.v. Nó không chứa các chi tiết như đường dân cư, luồng và nhiều tính năng khác thường chỉ được hiển thị ở mức thu phóng cao.

Các định nghĩa biến đổi thẻ C mặc định về những gì cần thêm vào bảng đường là tagtransform.cpp

Nếu bạn muốn tùy chỉnh điều này, có lẽ tốt nhất bạn nên viết một biến đổi thẻ lua . Ví dụ, bạn có thể thấy style.lua , biến đổi thẻ lua mẫu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.