Có nhiều cách để đi về nó. Một cách hiệu quả đơn giản bao gồm:
Tính toán tọa độ x và y dưới dạng các trường trong bảng thuộc tính.
Ghép các tọa độ này thành một định danh.
Tóm tắt bảng trên mã định danh này, yêu cầu tổng của trường số cũng như các trường hợp đầu tiên của cả x và y.
Tạo chủ đề sự kiện điểm của bảng tóm tắt, sử dụng (x, y) cho tọa độ.
Biên tập
Trong một bình luận, @myClone viết
các điểm không trùng nhau chính xác với nhau (có nghĩa là tọa độ xy gần nhưng không bằng nhau), nhưng tôi chỉ cần tổng hợp các điểm nằm trong phạm vi 100 feet của nhau.
Nói chung không có giải pháp duy nhất. Ví dụ, hãy xem xét ba điểm trong một dòng trong đó mỗi điểm cách nhau 75 feet so với hàng xóm của nó:
* * *
a b c
Bạn có nhóm cả ba, mặc dù khoảng cách (a, c)> 100? Nếu không, bạn chọn giải pháp nào: (a, b), (c) hoặc (a), (b, c)?
Hai cách tiếp cận , đưa ra câu trả lời khác nhau trong các trường hợp như vậy, là:
(i) Bộ đệm tất cả các điểm bằng 50 = 100/2 feet, yêu cầu bộ đệm được hợp nhất. Không gian tham gia bộ đệm trở lại các điểm: điều này kết thúc mỗi điểm với thuộc tính của bộ đệm được hợp nhất có chứa nó. Điều này đạt được mục đích của bước (2) trong giải pháp ban đầu của tôi. Tiến hành từ đó chính xác như trước. Trong ví dụ này, cụm này sẽ tập hợp a, b và c lại với nhau.
(ii) Tạo lưới 100 x 100 feet và xác định các điểm bằng các ô lưới của chúng. Điều này không yêu cầu thực sự vẽ lưới hoặc thậm chí lưu trữ các tính năng của nó, bởi vì ô chứa (x, y) nằm được xác định bởi cặp được đặt hàng (Tầng ((x-x0) / 100), Tầng ((y-y0 ) / 100)) trong đó (x0, y0) là bất kỳ nguồn gốc lưới nào bạn thích. Kết hợp các tọa độ này để xác định ô, một lần nữa đạt đến bước (2) trong giải pháp ban đầu của tôi. Tiến hành như trước.
Rõ ràng phương pháp (ii) không hoàn toàn tổng hợp tất cả các cặp điểm trong vòng 100 feet, bởi vì nó có khả năng tổng hợp các cặp lên tới 100 * Sqrt (2) = 141 feet của nhau. Bạn có thể bù bằng cách giảm kích thước lưới xuống 100 / Sqrt (2) = 71 feet, nhưng sau đó một số cặp trong vòng 100 feet sẽ không được tổng hợp. Chọn thuốc độc của bạn.
Lưu ý rằng các giải pháp trong phương pháp (ii) phụ thuộc vào nguồn gốc và khoảng cách lưới. Sử dụng lưới 100 feet, nó sẽ mang lại {(a, b), (c)} hoặc {(a), (b, c)}, tùy thuộc vào nguồn gốc. Sử dụng lưới 71 feet, nó sẽ giữ cả ba điểm riêng biệt, bất kể nguồn gốc.
Có các phương pháp khác , mà tôi sẽ gộp lại thành từng nhóm:
(iii) Sử dụng quy trình phân cụm thống kê , chẳng hạn như phương tiện k hoặc phân cụm phân cấp, để thực hiện công việc. Có rất nhiều thông tin thực tế về điều này trên trang web chị em của chúng tôi, thống kê @ SE . Thông thường, phần mềm thống kê chấp nhận bộ ba (id, x, y) làm đầu vào và đầu ra (hoặc có thể được thuyết phục để xuất) một bảng gồm ba (id, cluster). Tham gia bảng đầu ra này trở lại bảng thuộc tính điểm, một lần nữa đưa chúng ta trở lại bước (2) trong giải pháp ban đầu, v.v.
(iv) Một số phần mềm điều khiển địa lý , chẳng hạn như GSLib , bao gồm các thói quen "giải mã" khác nhau nhằm chuẩn bị dữ liệu cho phép ghi âm và Kriging. Đầu ra của chúng thường có thể được nhập trở lại vào phần mềm GIS và được tạo thành một lớp điểm.
Các phương pháp được mô tả cho đến nay cung cấp cho bạn toàn quyền kiểm soát những gì đang diễn ra, cho phép bạn tiến hành công việc của mình một cách am hiểu và chuyên nghiệp (mà không phải thiết kế ngược các công cụ phần mềm của bạn).
Cuối cùng, điều đáng nói là
(v) các bản sao gần đây của ArcGIS có một công cụ để giải mã . Khi tôi nhớ lại, không rõ nó hoạt động như thế nào; bạn phải đọc mã cơ bản để tìm hiểu chuyện gì đang xảy ra.