Làm thế nào để làm sạch một shapefile xấu như vậy để định tuyến?


16

Tôi đang cố gắng để làm sạch một shapefile để làm cho nó có thể sử dụng để định tuyến với pgrouting, postgis, postgresql.

Ở đây một giao lộ, nó dường như được kết nối nhưng khi chúng tôi phóng to thu nhỏ. Không phải vậy:

không phóng to 1 phóng to 1

Tương tự ở đây:

không phóng to 2 phóng to 2

Ở đây (nó được phóng to tối đa) có 2 cách khi nó dường như là một và chỉ có một cách được kết nối:

phóng to tối đa 2

Tôi đang sử dụng gán_vertex_id với các dung sai khác nhau, và QGIS và PostGIS, nhưng tôi không biết nên sử dụng cái gì trong đó.


Tôi tự hỏi: đây có phải là những lỗi thực sự? Chẳng hạn, cả hai tình huống có thể được sử dụng để đại diện cho đường hai chiều gặp đường một chiều. Đây có thể là một vấn đề nghiêm trọng, vì bạn không muốn đưa ra các lỗi mới trong nỗ lực loại bỏ người khác!
whuber

Trên thực tế, nó chỉ là một shapefile tồi tệ khủng khiếp, tôi muốn một định tuyến vô cùng đơn giản, và những gì bạn thấy là rất phóng to.
hokkos

Câu trả lời:


12

Bạn có thể sử dụng GRASS để làm sạch. Tôi nghĩ rằng bạn cần phải phá vỡ các vectơ loại bỏ trùng lặp và sau đó chụp chúng. Cho rằng có công cụ v.clean với các tùy chọn break, rmdupl and snap.


4

Trong PostGIS, hãy thử ST_SnapToGrid để chụp các đỉnh vào lưới ảo. Bạn cần đến một số công việc thám tử để xác định khoảng cách chụp sẽ sử dụng. Nó có thể là 0,01 (1 cm) hoặc 1,0, v.v.

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.