Jest na to wiele sposobów. Jeden prosty, efektywny składa się z:
Oblicz współrzędne xiy jako pola w tabeli atrybutów.
Połącz te współrzędne w identyfikator.
Podsumuj tabelę na tym identyfikatorze, żądając sumy pola numerycznego, a także pierwszych wystąpień zarówno x, jak i y.
Utwórz motyw zdarzenia punktowego w tabeli podsumowań, używając (x, y) dla współrzędnych.
Edytować
W komentarzu @myClone pisze
punkty nie pokrywają się dokładnie (co oznacza, że współrzędne xy są blisko, ale nie są sobie równe), ale muszę tylko zsumować punkty, które znajdują się w odległości 100 stóp od siebie.
Ogólnie rzecz biorąc, nie ma unikalnego rozwiązania. Rozważmy na przykład trzy punkty w linii, z których każdy jest oddzielony o 75 stóp od swojego sąsiada:
* * *
a b c
Czy klastrujesz wszystkie trzy pomimo odległości (a, c)> 100? Jeśli nie, jakie rozwiązanie wybierzesz: (a, b), (c) lub (a), (b, c)?
Dwa podejścia , dające różne odpowiedzi w takich przypadkach, to:
(i) Buforuj wszystkie punkty o 50 = 100/2 stóp, żądając połączenia buforów. Przestrzennie połącz bufory z powrotem do punktów: to nadaje każdemu punktowi atrybut połączonego bufora zawierającego go. Osiąga to cel kroku (2) w moim oryginalnym rozwiązaniu. Kontynuuj stamtąd dokładnie tak jak poprzednio. W tym przykładzie zgrupują a, b i c razem.
(ii) Utwórz siatkę 100 na 100 stóp i zidentyfikuj punkty według ich komórek siatki. Nie wymaga to rysowania siatki ani nawet przechowywania jej cech, ponieważ komórka, w której leży (x, y), jest określona przez uporządkowaną parę (Podłoga ((x-x0) / 100), Podłoga ((y-y0) ) / 100)) gdzie (x0, y0) to dowolne źródło siatki, które lubisz. Połącz te współrzędne, aby zidentyfikować komórkę, ponownie osiągając krok (2) w moim oryginalnym rozwiązaniu. Postępuj jak poprzednio.
Najwyraźniej metoda (ii) nie całkiem agreguje wszystkie pary punktów w promieniu 100 stóp, ponieważ jest w stanie agregować pary do 100 * Sqrt (2) = 141 stóp od siebie. Można to zrekompensować, zmniejszając rozmiar siatki do 100 / Sqrt (2) = 71 stóp, ale wówczas niektóre pary w odległości 100 stóp nie będą agregowane. Wybierz swoją truciznę.
Należy zauważyć, że rozwiązania w metodzie (ii) zależą od początku siatki i odstępów. Używając siatki o długości 100 stóp, można uzyskać albo {(a, b), (c)} lub {(a), (b, c)}, w zależności od pochodzenia. Korzystając z siatki 71 stóp, utrzymałby wszystkie trzy punkty osobno, niezależnie od pochodzenia.
Istnieją inne metody , które grupuję w grupach:
(iii) Użyj statystycznej procedury klastrowania , takiej jak k-średnie lub hierarchiczne grupowanie, aby wykonać zadanie. Na naszej siostrzanej stronie, stats @ SE, jest mnóstwo praktycznych informacji na ten temat . Zazwyczaj oprogramowanie statystyki akceptuje (id, x, y) tróje jako dane wejściowe i wyjściowe (lub można przekonać do wyjścia) tabelę potrójnych (id, klaster). Dołącz tę tabelę wyjściową z powrotem do tabeli atrybutów punktowych, ponownie przenosząc nas do kroku (2) w oryginalnym rozwiązaniu itp.
(iv) Niektóre oprogramowanie geostatystyczne , takie jak GSLib , zawiera różne procedury „odszyfrowywania” mające na celu przygotowanie danych do wariografii i Kriginga. Ich dane wyjściowe można zwykle zaimportować z powrotem do oprogramowania GIS i przekształcić w warstwę punktową.
Opisane do tej pory metody dają pełną kontrolę nad tym, co się dzieje, umożliwiając fachową i profesjonalną pracę (bez konieczności inżynierii wstecznej narzędzi programowych).
Na koniec warto o tym wspomnieć
(v) najnowsze kopie ArcGIS mają narzędzie do usuwania klastrów . O ile pamiętam, nie jest jasne, jak to działa; musisz przeczytać kod źródłowy, aby dowiedzieć się, co się dzieje.