Czy istnieje narzędzie Free Aggregate Points dla ArcGIS 10?

10

Muszę przeprowadzić analizę Getis-Ord, ale najpierw muszę zebrać punkty. Znam XToolsPro, ale funkcja punktów agregujących jest zablokowana i musisz wykupić licencję, aby z niej korzystać. Zastanawiam się, czy jest dostępne darmowe narzędzie lub obejście w ArcMap, którego brakuje mi do agregacji punktów.

Trochę kontekstu: Mam ponad 8000 punktów, z których wiele ma różne atrybuty, ale może mieć tę samą (przybliżoną) lokalizację geoprzestrzenną. W tej analizie muszę tylko zsumować punkty nachodzące na siebie na podstawie pola zawierającego wartość liczbową do zsumowania. Na przykład:

Point A overlaps Point B and Point C.  
Point A field value = 1.4
Point B = 2.4, and 
Point C = 5.2.  

Agregat punktów A, B i C zwróciłby punkt D o wartości 9,0

Mam nadzieję, że to ma sens. Może mógłbym uciec od używania czegoś naprawdę podstawowego, ale po prostu jeszcze tego nie poskładałem. Będziemy wdzięczni za każdą pomoc, którą możesz zaoferować!

myClone
źródło

Odpowiedzi:

13

ArcGIS v10 to zrobi. Najpierw uruchom „Dodaj współrzędne XY”. Następnie uruchom Dissolve, wybierz Point_X i Point_Y jako pola rozpuszczania, dodaj pole statystyki Sum. Właśnie przetestowałem to na nakładających się Punktach. Dane wyjściowe mają jeden punkt w każdej nakładającej się lokalizacji, podczas gdy pole numeryczne jest sumowane dla tej lokalizacji.

Klewis
źródło
+1 Miło słyszeć, że 10 lat po usunięciu tej funkcji ze swojego oprogramowania, ESRI ponownie ją przywróciła. (Istniał w ArcView 2/3 jako część operacji podsumowywania tabeli.)
whuber
Dzięki @klewis! Jedna rzecz - 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. Nie wygląda to tak, jakby funkcja rozpuszczania była sposobem rozpuszczania w obrębie określonego progu odległości. Zakładam, że wtedy musiałbym zrobić porządki przy pomocy analizy zbliżeniowej?
myClone,
2
To bezpłatne narzędzie, które wykonuje grupowanie Kmeans, wraz z wieloma innymi narzędziami. Wymaga ArcGIS 10, ale działa z licencją ArcView. Nie próbowałem oprogramowania, ale ma ono narzędzia dostępne tylko z licencją ArcInfo. Musisz zainstalować GME, R i Statconn. spatialecology.com/gme/kmeans.htm BTW, Arc 10.1 będzie miał clusering kmeans. forums.arcgis.com/threads/20288-fuzzy-c-means-cluster-analysis
klewis
6

Jest na to wiele sposobów. Jeden prosty, efektywny składa się z:

  1. Oblicz współrzędne xiy jako pola w tabeli atrybutów.

  2. Połącz te współrzędne w identyfikator.

  3. Podsumuj tabelę na tym identyfikatorze, żądając sumy pola numerycznego, a także pierwszych wystąpień zarówno x, jak i y.

  4. 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.

Whuber
źródło