Znaleźć klastry jednego zestawu punktów wokół innego zestawu punktów z innej warstwy?

10

Chcę sprawdzić, czy istnieje pewien rodzaj budynków (x) wokół innego typu budynków (y).

Pliki dwóch punktów są na różnych warstwach.

Nie mogę się dowiedzieć, jakiego narzędzia bym to zrobił.

Nikki
źródło

Odpowiedzi:

9

Żadne z gotowych narzędzi ArcGIS (ani żadnego innego GIS, AFAIK) nie wykona zadania poprawnie.

W przypadku takiego problemu musisz określić ilościowo, co masz na myśli przez „grupowanie”, a następnie musisz postawić model prawdopodobieństwa, aby ocenić, czy zmierzony stopień skupienia mógł zostać wygenerowany przypadkowo.

Jako przykład tego, jak postępować, możesz wybrać pomiar skupień w kategoriach typowych odległości między budynkami typu x a najbliższym budynkiem typu y . Jest to łatwe obliczenie: po prostu reprezentuj oba zestawy budynków za pomocą oddzielnych warstw punktowych i wykonaj przestrzenne połączenie Y z X. Tabela atrybutów, która wciąż ma jeden rekord dla każdego budynku typu x , będzie teraz zawierać odległość do najbliższego y . Jako miarę możesz użyć średniej odległości.

Trudniejsze jest sprawdzenie, czy może to wynikać z przypadku. Jedną z możliwych interpretacji tego ustawienia jest to, że wcześniejsza obecność budynków typu y sprzyjała rozwojowi budynków typu x stosunkowo blisko y . W przeciwnym razie moglibyśmy postawić hipotezę, że budynki typu x mogłyby zostać zbudowane w dowolnym miejscu, w którym pojawiały się inne budynki. Prowadzi to do następującego prostego testu permutacji . Utwórz warstwę punktową wszystkich możliwych lokalizacji, w których mogły pojawić się budynki typu x . Ta warstwa może być lokalizacją wszystkich budynków w obszarze wzniesionych w tym samym okresie co xbudynki były (w tym oczywiście same budynki x ). Połącz przestrzennie warstwę y , aby uzyskać odległości do najbliższego budynku typu y . Reszta obliczeń działa na podstawie tabeli atrybutów: obliczenia geograficzne są wykonywane. Będziesz musiał wielokrotnie używać generatora liczb losowych, aby pobrać prostą próbkę losową wszystkich tych budynków, przy czym każda próbka zawiera dokładnie tyle elementów, ile masz budynków typu x . Oblicz średnią odległość dla tej próbki. Powtarzaj, aż uzyskasz wiele statystyk średniej odległości. Jeśli prawie wszystkie te losowo uzyskane średnie odległości są większe niż średnia odległość zmierzona dla xtypu budynków, można wywnioskować, że x nie są zgrupowane przypadkowo: efekt jest prawdziwy.

(Takie obliczenia najlepiej programować na platformie dostosowanej do takich celów, takiej jak `R ', ale prawie każde oprogramowanie komputerowe może zostać wprowadzone do użytku, nawet Excel. Programowanie jest bardzo wymagające, wymaga niewiele więcej niż znajomości pisania pętli i wybierania elementy z tablic losowo).

To podejście do testowania permutacji jest lepsze od wstępnie zaprogramowanych rozwiązań, ponieważ wyraźnie uwzględnia wzorce rozwoju budynku w tym obszarze. Jeśli tego nie zrobi, to często będzie znaleźć „znaczące” dowody klastrów, ale nie można stwierdzić coś pożytecznego z nim, ponieważ klastry mogą być spowodowane przez inne czynniki, takie jak wzory dróg, lokalizacje witryny odpowiednie do rozwoju i wiele innych rzeczy.

Whuber
źródło
1
Zdaję sobie sprawę, że ta odpowiedź jest trochę abstrakcyjna. Kiedy będę miał więcej czasu, postaram się stworzyć realistyczną ilustrację.
whuber
Dla tych, którzy używają R, polecam sprawdzenie pakietu spatstat ( cran.r-project.org/web/packages/spatstat/index.html ) w celu analizy klastra.
om_henners
2

Oczywiście metoda analizy danych powinna zależeć od istotnego problemu motywującego analizę.

Ale oto kilka pomysłów:

Z ESRI:

Jak działa analiza klastra przestrzennego na wiele odległości: działa funkcja k (statystyki przestrzenne) Ripleya , gdzie i oraz j w równaniu oznaczają budynki x i y. Funkcja K Ripleya zapewni wnioskowanie probabilistyczne.

Z informatyki:

Istnieją skomplikowane algorytmy wykrywania wzorców kolokacji, które można wyszukiwać w Google.

b_dev
źródło
„Prosty pomysł na fabułę” jest interesujący, ale potrzebujesz czegoś do porównania: sam z siebie trudno wyodrębnić z niego użyteczne informacje. Funkcja K Ripleya jest również użytecznym narzędziem, ale niestety w wielu przypadkach odzwierciedla ona jedynie geometrię zestawu danych. W przypadku domów na przedmieściach lub obszarach wiejskich, które mają tendencję do leżenia wzdłuż elementów liniowych (dróg), funkcja K wyraźnie pokaże „znaczące” skupienie tylko z tego powodu. W związku z tym nie ujawnia nic użytecznego w domach innych niż to, że są budowane w pobliżu dróg!
whuber
@ Whuber 1. dzięki za wyjaśnienie problemu funkcji K Ripleya. Po drugie, kiedy widzimy wykres cen akcji w czasie, możemy szukać ogólnych trendów w górę lub w dół lub losowo, a także możemy wybrać czasy, w których nastąpiły duże spadki lub wzrosty i zapytać, dlaczego. Wykres tego, jak zmienia się koncentracja budynków wraz ze zmianami odległości, można wykorzystać w ten sam sposób. Można go użyć do poszukiwania szczytowych stężeń, co stanowi dowód przeciwko przypadkowemu rozkładowi, a także można go użyć do ukierunkowania dalszego badania ciekawych szczytów.
b_dev
Masz rację. Chodzi mi o to, że fabuła sama w sobie nie mówi nam nic o grupowaniu. Być może dobrą analogią (a nie cenami akcji) jest choropleth mapa liczby przypadków raka nerki według stanu 2000-2010 w USA. To także nie mówi nam nic o grupowaniu (geograficznym), ponieważ nie uwzględnia różnic w populacji między stanami. Podobnie wykres cross-K wymaga odpowiedniej normalizacji lub odniesienia, aby był interpretowalny. Ogólne trendy, wzrosty itp. Mogą po prostu odzwierciedlać wzorce geograficzne wszystkich lokalizacji budynków.
whuber
@ whuber Masz rację. Po przeczytaniu powyższego komentarza zdecydowałem, że mój Prosty pomysł na fabułę nie dostarczy wielu informacji, przynajmniej tak, jak to opisano, więc usunąłem go, aby nie mylić ludzi. Teraz uważam, że Joint Count Statistics to najprostsza metoda podejścia do problemu.
b_dev
2

Nigdy nie przeprowadzałem analizy skupień w GIS, ale czy byłoby łatwiej, gdybyś utworzył punkty / wielokąty do reprezentowania danego skupienia X i / lub Y. Na przykład, jeśli stworzyłeś punkty oznaczające budowę Y, możesz wtedy użyj narzędzia Odległość punktu , aby uzyskać wszystkie punkty budowy X w określonej odległości od lokalizacji początkowej.

W przeciwnym razie utworzenie bufora wokół budynków typu Y i wybranie wszystkich budynków typu X da taki sam rezultat, jeśli nie masz ArcInfo.

Natanus
źródło
0

Możesz połączyć obie warstwy, dodając kolumnę binarną (0,1), aby określić, czy budynek pochodzi z X czy Y.

Stamtąd za pomocą GeoDa można zidentyfikować lokalną autokorelację przestrzenną (grupowanie) i ustalić, czy była ona wysoka-niska (jedna warstwa skupiona wokół drugiej warstwy) niska-wysoka (odwrotna) lub wysoka-wysoka lub niska-niska (samo grupowanie). Przewodnik użytkownika tutaj (.pdf)

Rafael
źródło