태그 보관물: geoprocessing

geoprocessing

ArcGIS for Desktop을 사용하여 셰이프 파일 간의 차이점을 찾으십니까? 첫 번째 단계는 두 파일을 비교하는

매달 나는 전체 카운티 (47,000 개가 넘는 기록)에 대한 거리 데이터를 QA / QC해야합니다. 첫 번째 단계는 두 파일을 비교하는 것입니다. 현재 약 5 년 전에 VBA를 통해 집에서 만든 도구를 사용하고 있습니다. 그것은 두 파일을 비교하고 몇 가지 요소 (추가 된 레코드, 삭제 된 레코드, 주소 변경, 도시 변경, 세그먼트 길이 / 정점 변경)를 기반으로 차이점을 다시보고합니다. 그런 다음 이들을 개별 모양 파일로 내 보냅니다. 또한이 도구는 작동 ArcGIS 9.3하지만 더 이상 작동하지 않습니다.ArcGIS 10.1

이 도구는 훌륭하게 작동하지만 완료하는 데 약 1 시간이 걸립니다.

성능 향상을 위해이 도구를 개선하기 위해 노력하고 있습니다. 나는 포함한 다양한 방법을 검토 한 결과 Compare Feature ToolSelect by Location.

이 두 도구는 모두 훨씬 빠르게 작동하지만 필요한 모든 것을 캡처하지는 않습니다. 내가 가진 큰 문제 Compare Feature Tool는 비교할 필드를 선택할 수 없다는 것입니다. Segment_ID로 비교해야 할 때 기본값은 ObjectID입니다. 선택할 수있는 옵션이 없습니다.

내가 설명한 것처럼 전체 비교를 달성하는 방법에 대한 좋은 해결책이나 아이디어가 있습니까?


어떤 이유로 ArcGIS는 RyanDalton의 답변에 따라 시도하고있는 조인을 인식하지 못합니다.

그러나

조인의 조언을 받아 두 파일에서 추가 된 레코드와 삭제 된 레코드 차이를 찾는 방법을 알아 냈습니다.

  1. Segment_ID 필드를 통해 이전 달 shapefile을 현재 달 shapefile에 결합
  2. Segment_ID가 NULL 인 정의 쿼리 수행
  3. 새 모양 파일로 내보내기 (추가 된 기능)

그런 다음 조인을 취소하고 삭제 된 기능을 찾습니다.

나열된 다른 차이점을 찾은 다음 모델에 모두 함께 묶는 방법을 계속 연구하고 있습니다.


다른 데이터 세트와 동일한 데이터 세트 중 하나에서 위치 레코드 선택을 수행하여 변경된 모든 레코드를 찾을 수 있습니다. 그런 다음 선택을 전환하면 동일하지 않은 모든 레코드가 제공됩니다.

모델에 모두 넣고 잘 작동합니다.



답변

으로 Compare Feature Tool, 당신은 당신의 선택해야 Segment_ID으로 필드를 정렬 필드 대화한다.

[정렬] 필드는 입력 기본 테이블과 입력 테스트 테이블에서 레코드를 정렬하는 데 사용됩니다. 레코드는 오름차순으로 정렬됩니다. 입력 기본 기능과 입력 테스트 기능 모두에서 공통 필드를 기준으로 정렬하면 각 입력 데이터 세트에서 동일한 행을 비교할 수 있습니다.

출력 테이블의 일부로 Segment_ID 필드를 얻으려면 출력 Compare Feature테이블을 소스 Test Tablecf.Object_ID=tt.Object_ID조인 한 다음 Segment_ID를 사용하여 조인 된 테이블을 내보내십시오.

쉽게 반복 할 수 있도록 모델에 쉽게 넣을 수 있습니다.


답변

필자의 경험에 따르면 Feature Compare는 segment_id가 정렬 필드로 선택된 경우에도 항상 비교의 기초로 FID 또는 ObjectID를 사용합니다. 셰이프 파일 FID는 재활용 (재주문)되므로 몇 번의 편집 후에 모든 FID가 해당 지역에 따라 다르지 않은 경우가 많습니다. 따라서 “참”기능 비교 오류가 발생합니다. GeoDatabase 또는 GISquirrel의 ObjectID를 사용하는 경우 ID가 재활용되지 않으므로이 도구를 사용할 수 있습니다. ObjectId가 다시 정렬되지 않도록 일정 기간 동안 데이터베이스를 고정 상태로 유지해야합니다.

에 관계없이 GP 도구 도움말의 정렬 필드 설명입니다 아주 잘못된. 비교의 기초가 segment_ID 일 수 있다면이 도구는 엄청납니다.


답변