Làm thế nào để xem những dòng nào đã thay đổi trong một Shapefile được cập nhật?


15

Tôi đang sử dụng dữ liệu GIS của quận để cập nhật các con đường trong OpenStreetMap. Tôi có một bản sao họ đã xuất bản năm ngoái và một bản vừa được xuất bản và tôi muốn tìm tất cả các LineStrings có thuộc tính hoặc hình dạng của chúng đã thay đổi. Điều này sẽ hỗ trợ tôi trong việc đảm bảo tất cả các đường phố mới và được sửa đổi đều được cập nhật trong OpenStreetMap.

Tôi muốn làm điều này bằng phần mềm FOSS, chẳng hạn như QGIS hoặc Python / OGR. Các đoạn đường phải có một mã định danh duy nhất, vì vậy, suy nghĩ duy nhất của tôi là viết tập lệnh Python mở cả Shapefiles, tìm bất kỳ phân đoạn nào mới không có trong đoạn cũ (đoạn được thêm) và đoạn ngược (đoạn bị loại bỏ) và sau đó lặp qua các cặp đối sánh so sánh tọa độ cấu thành của chúng để xem có gì thay đổi không.

Đây có phải là một cách tiếp cận tốt? đó có phải là cách dễ hơn?


3
Có vẻ như bạn đang tìm kiếm một QGIS tương đương với So sánh tính năng
PolyGeo

+1 - câu hỏi thực sự thú vị. Tôi đã xem xét việc so sánh các shapefile trong QGIS bằng cách chọn chúng trong bảng thuộc tính, sao chép (ctrl-C / cmd-C) và dán vào trình soạn thảo văn bản để so sánh trực tiếp văn bản WKT, nhưng điều này không thực hiện phân đoạn bằng phân khúc và rõ ràng là tẻ nhạt. Rất quan tâm để xem một giải pháp tốt đi ra từ câu hỏi này. Đối với dữ liệu OSM, bạn cũng có thể tải xuống lịch sử cho các tính năng riêng lẻ, nhưng thật tuyệt khi có một giải pháp chung .
Simbamangu

Câu trả lời:


8

Điều bạn cần làm là phân tích thời gian. Như bạn đã nói, bạn có hai dữ liệu vectơ (shp) của các thời điểm khác nhau. bạn có thể tìm thấy sự thay đổi bằng cách xử lý hình học. Trong QGIS tải hai vectơ và GoTo Vector-> GeoProcessing và từ đó bạn có thể sử dụng hàm Difference sẽ cho hình dạng khác như một kết quả.

Mong rằng sẽ giúp


+1 - điều này hoạt động độc đáo cho hai bộ dữ liệu OSM cách nhau một tháng, dẫn đến một lớp bảo tồn các thuộc tính của các đối tượng đã thay đổi.
Simbamangu

1
nhưng điều này sẽ chỉ hoạt động nếu hình học đã thay đổi. Thay đổi thuộc tính thì sao?
sweet.sugar.cola
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.