Tìm sự khác biệt giữa các shapefiles bằng ArcGIS cho Desktop?


12

Hàng tháng tôi phải QA / QC một số dữ liệu đường phố cho toàn bộ quận (hơn 47.000 hồ sơ). Bước đầu tiên là so sánh hai tập tin. Hiện tại, tôi đang sử dụng một công cụ được tạo trong nhà thông qua VBA khoảng 5 năm trước. Nó hoạt động so sánh hai tệp và báo cáo lại sự khác biệt dựa trên một số yếu tố (bản ghi đã thêm, bản ghi bị xóa, thay đổi địa chỉ, thay đổi thành phố, thay đổi độ dài / đỉnh của phân đoạn). Sau đó tôi xuất chúng cho các shapefiles riêng lẻ. Ngoài ra, công cụ này hoạt động ArcGIS 9.3nhưng sẽ không còn hoạt động trongArcGIS 10.1

Công cụ này hoạt động rất tốt, nhưng phải mất khoảng một giờ để hoàn thành.

Tôi đã bắt đầu làm việc với hy vọng cải thiện công cụ này để tăng tốc hiệu suất. Tôi đã xem xét một loạt các phương pháp bao gồm Compare Feature ToolSelect by Location.

Cả hai công cụ này hoạt động nhanh hơn đáng kể, tuy nhiên, chúng dường như không nắm bắt được mọi thứ tôi cần. Vấn đề lớn tôi gặp phải Compare Feature Toollà tôi không thể chọn lĩnh vực nào để so sánh. Nó mặc định là ObjectID khi tôi cần so sánh bằng Segment_ID. Không có tùy chọn để chọn điều đó.

Có ai có giải pháp hay ý tưởng hay về cách đạt được sự so sánh đầy đủ như tôi đã mô tả không?


Vì một số lý do, ArcGIS không nhận ra sự tham gia mà tôi đang cố gắng theo câu trả lời của RyanDalton.

Nhưng

Theo lời khuyên của một người tham gia, tôi đã tìm ra cách tìm các bản ghi được thêm vào và xóa các bản ghi khác nhau trong hai tệp bằng cách:

  1. Tham gia shapefile tháng trước với shapefile tháng hiện tại thông qua trường Segment_ID
  2. Thực hiện truy vấn định nghĩa trong đó Segment_ID IS NULL
  3. Xuất nó sang một shapefile mới (Đã thêm tính năng)

Sau đó tôi đảo ngược các phép nối và tìm các Tính năng đã xóa

Vẫn đang làm việc để tìm ra những khác biệt được liệt kê và sau đó xâu chuỗi tất cả chúng lại với nhau trong một mô hình.


Tôi có thể tìm thấy tất cả các bản ghi đã thay đổi bằng cách thực hiện chọn theo bản ghi vị trí từ một trong các bộ dữ liệu giống hệt với bộ dữ liệu khác. Sau đó tôi chuyển đổi lựa chọn và nó cung cấp cho tôi tất cả các hồ sơ không giống nhau.

Tôi sẽ đặt tất cả trong một mô hình và hy vọng nó cũng hoạt động tốt.

Câu trả lời:


11

Với Compare Feature Tool, bạn chỉ nên chọn Segment_IDtrường của mình làm trường sắp xếp trong hộp thoại.

Trường [sắp xếp] hoặc trường [được] sử dụng để sắp xếp các bản ghi trong Bảng cơ sở đầu vào và Bảng kiểm tra đầu vào. Các hồ sơ được sắp xếp theo thứ tự tăng dần. Sắp xếp theo một trường chung trong cả Tính năng cơ sở đầu vào và Tính năng kiểm tra đầu vào đảm bảo rằng bạn đang so sánh cùng một hàng từ mỗi tập dữ liệu đầu vào.

Nếu bạn muốn lấy trường Segment_ID làm một phần của bảng đầu ra, hãy thử nối Compare Featurebảng đầu ra với nguồn của bạn Test Tabletrên cf.Object_ID=tt.Object_ID, sau đó xuất ra bảng đã nối với Segment_ID của bạn.

Bạn có thể dễ dàng đặt nó vào một mô hình để lặp lại dễ dàng hơn.


Tôi đã thực hiện điều này, tuy nhiên, bảng được tạo thông qua công cụ so sánh không bao gồm trường Segment_ID (là định danh duy nhất). Thay vào đó, nó chỉ liệt kê các objectID thực sự không tốt cho tôi.
Craig

Cập nhật câu trả lời của tôi để phản ánh nhận được Segment_IDvào bảng đầu ra của bạn.
RyanKDalton

việc thêm tham gia khiến ArcMap bị sập mọi lúc. Trở lại với bản vẽ.
Craig

1

Theo kinh nghiệm của tôi, So sánh tính năng luôn sử dụng FID hoặc ObjectID làm cơ sở so sánh ngay cả khi Seg_id được chọn làm Trường sắp xếp. FID Shapefile được tái chế (sắp xếp lại) vì vậy sau một vài lần chỉnh sửa, nếu không phải tất cả các FID đều khác nhau về địa lý tương ứng. Do đó, họ sẽ có một lỗi so sánh tính năng "đúng". Nếu bạn sử dụng ObjectID từ GeoDatabase hoặc GISquirrel thì ID không được tái chế và bạn có thể dựa vào công cụ này. Bạn phải giữ cho cơ sở dữ liệu được xử lý trong khoảng thời gian để ObjectIds không bao giờ được sắp xếp lại.

Bất kể mô tả Trường Sắp xếp trong trợ giúp công cụ GP là RẤT sai lệch. Công cụ này sẽ rất lớn nếu cơ sở so sánh có thể là Seg_ID.

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.