업데이트 된 Shapefile에서 변경된 줄을 보는 방법은 무엇입니까?


15

내가 사용하고 내 카운티의 GIS 데이터를 OpenStreetMap에있는 도로를 업데이트 할 수 있습니다. 작년에 출판 한 사본과 방금 출판 된 사본이 있는데, 속성 또는 지오메트리가 변경된 모든 LineString을 찾고 싶습니다. 이를 통해 OpenStreetMap에서 모든 새로운 거리와 수정 된 거리를 업데이트 할 수 있습니다.

QGIS 또는 Python / OGR과 같은 FOSS 소프트웨어를 사용하여이 작업을 수행하고 싶습니다. 거리 세그먼트에는 고유 식별자가 있어야하므로 내 유일한 생각은 두 Shapefiles를 열고 Python에서 이전 (추가 된 세그먼트)에 존재하지 않는 새로운 세그먼트와 역방향 (제거 된 세그먼트)을 찾는 Python 스크립트를 작성하는 것입니다. 그런 다음 구성 좌표를 비교하여 일치하는 쌍을 반복하여 변경된 것이 있는지 확인합니다.

이것이 좋은 접근입니까? 더 간단한 방법이 있습니까?



+1-정말 흥미로운 질문. QGIS에서 쉐이프 파일을 속성 테이블에서 선택하고 복사 (ctrl-C / cmd-C) 한 다음 텍스트 편집기에서 붙여 넣어 WKT 텍스트를 직접 비교하여 셰이프 파일을 비교하는 방법을 살펴 봤지만, 세그먼트와 분명히 지루합니다. 이 질문에서 좋은 해결책을 찾는 데 매우 관심이 있습니다. OSM 데이터의 경우 개별 기능에 대한 히스토리도 다운로드 할 수 있지만 일반적인 솔루션 이 있으면 좋을 것 입니다.
Simbamangu

답변:


8

당신이해야 할 일은 시간 분석입니다. 당신이 말했듯이 서로 다른 시간의 두 벡터 데이터 (shp)가 있습니다. 형상 처리를 사용하여 변경 사항을 찾을 수 있습니다. QGIS에서 두 개의 벡터와 GoTo Vector-> GeoProcessing을 로드 하고 거기에서 다른 모양을 제공하는 차이 기능을 사용할 수 있습니다.

희망이 도움이


+1-한 달 간격으로 두 개의 OSM 데이터 세트에 대해 잘 작동하므로 변경된 객체의 속성을 유지하는 레이어가 생성됩니다.
Simbamangu

1
그러나 이것은 지오메트리가 변경된 경우에만 작동합니다. 속성 변경은 어떻습니까?
sweet.sugar.cola
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.