Tôi đã tìm kiếm một câu trả lời cho cùng một câu hỏi trong một thời gian để khắc phục việc làm phẳng vấn đề đa giác bộ đệm chồng chéo và nghĩ rằng đã tìm thấy một giải pháp mạnh mẽ cho vấn đề đó. Trong thực tế @ bình luận của Whuber,
Về nguyên tắc, trọng tâm, chu vi và diện tích vẫn có thể không xác định duy nhất một đa giác, nhưng các mẫu đối lập là một chút giả định.
Câu trả lời của @ Paul là động lực chính để tôi tiếp tục cố gắng. Nó sử dụng toán tử IS_IDENTICAL_TO của công cụ Spatial Join vì đây là cách hiệu quả nhất trong số các trình phát hiện giống hệt khác. Dưới đây là các bước:
- Tự liên kết đầu vào của bạn để giữ cho tất cả các hình dạng khác nhau;
- Tạo một trường giả để giữ / sao chép OBRIID gốc (nghĩa là loại trường OID) của các hàng, giả sử EX_OID ;
- Chạy Spatial Tham gia vào lớp tính năng muốn được xử lý như cả tham số tính năng đích và tham gia. Đảm bảo ánh xạ trường của (các) trường giả (xuất hiện hai lần) được tạo trước đó có quy tắc hợp nhất FIRST (là mặc định hoặc chọn LAST, các trường khác có thể không đưa ra đầu ra mong muốn vì chúng sử dụng tóm tắt các lớp phủ). Bước này chọn hình dạng chung OBRIID ngồi trên tất cả các lớp phủ (ví dụ: FIRST);
Các bước sau đây có thể được thực hiện theo hai cách, VỚI Python hoặc KHÔNG CÓ:
VỚI PYTHON
- Sử dụng mã dưới đây để trích xuất ID duy nhất mà chúng tôi muốn tìm:
print tuple(set([row.getValue("EX_OID_1") for row in arcpy.SearchCursor("Output_of_the_Spatial_Join_Operation")]))
.
Xin lưu ý rằng tôi đang sử dụng bản sao thứ hai của trường OID giả, đó là EX_OID_1 trong trường hợp của tôi;
- Sao chép đầu ra của mã này và dán mã này vào
Truy vấn Định nghĩa của lớp đối tượng gốc được xử lý như
OBJECTID IN (<PASTE_COPIED_VALUES_HERE>)
. Kết quả sẽ cho bạn thấy các tính năng thống nhất của các phần chồng chéo. Có một giới hạn kích thước ở đây, 30.000 ký tự. Để khắc phục vấn đề này, bạn cần làm theo các bước "không có trăn".
KHÔNG CÓ PYTHON
Sử dụng công cụ Tần suất để liệt kê các giá trị duy nhất trong bản sao thứ hai của trường OID giả, đó là EX_OID_1 trong trường hợp của tôi;
Cuối cùng Tham gia trường OBRIID của lớp tính năng ban đầu với đầu ra của EX_OID_1 của công cụ Tần số bằng cách chọn tùy chọn "Chỉ giữ các bản ghi khớp".