Wdrażasz autokorelację przestrzenną za pomocą QGIS, PostgreSQL lub innej bezpłatnej aplikacji? [Zamknięte]

13

Jestem nowy w GIS.

Mam dwie warstwy w bazie danych PostgreSQL.
Pierwsza warstwa zawiera punkty, w których wydarzenia miały miejsce w Europie. Drugi zawiera plik kształtu Europy.

Udało mi się zmapować punkty na mapie Europy za pomocą QGIS. Chciałbym teraz wdrożyć Spatial Autocorrealation (Moran i).

Widziałem kilka demonstracji tego przy użyciu GeoDA, ale wygląda na to, że obsługuje tylko jeden plik kształtów.

Czy ktoś może skierować mnie w dobrym kierunku, jak to zaimplementować za pomocą QGIS, PostgreSQL lub innej bezpłatnej aplikacji?

John Smith
źródło

Odpowiedzi:

15

Uczenie się poprzez działanie jest moim preferowanym sposobem. A jeśli chodzi o statystyki przestrzenne, R staje się naprawdę potężnym narzędziem. Więc jeśli jest to opcja, przejrzyj niektóre materiały kursu, pobierz dane i wypróbuj je sam.

Kilka punktów początkowych obejmujących autokorelację przestrzenną (SA) (i ogólnie mówiąc obsługę rzeczy przestrzennych w R):

  1. Centrum Studiów Demograficznych i Ekologicznych (CSDE) na University of Washington zapewnia materiały z warsztatów Spatial R.

  2. Instytut Ilościowej Nauki Społecznej na Uniwersytecie Harvarda ma materiały z warsztatu Applied Spatial Statistics in R obejmującego SA.

  3. Wydział Geografii na Uniwersytecie Kolorado oferuje materiały dotyczące SA w ramach kursu Wprowadzenie do metod ilościowych .

Po zapoznaniu się z językiem R możesz połączyć go z PostgreSQL przy użyciu języka procedur PL / R - R dla PostgreSQL , ale nie mogę tego komentować, ponieważ nie mam wystarczającej wiedzy na ten temat.

Python może być inną alternatywą. PySAL to aktywnie rozwijana i dobrze udokumentowana biblioteka, która pozwoli Ci wdrożyć wszystkie funkcje GeoDa, w tym SA (i najprawdopodobniej jeszcze więcej). Python i Postgres są zwykle dobrymi przyjaciółmi, więc poświęcając trochę czasu, najprawdopodobniej możesz również poślubić tych dwóch.

radek
źródło
2

Nie mam pojęcia, jak wykonać Twój pomysł QGIS / PostgreSQL, ale następujące oprogramowanie może obliczyć miary autokorelacji

GeoDa obsługuje tylko raster wektorowy, Passage2 i SAGA tylko rastrowy, PAST tylko XYZ.txt i SAM (myślę) oba.

Jens
źródło
2

Art Lembo ma prosty przykład pseudomorana I dla PostGIS :

SELECT corr(a.pctwhite, b.pctwhite)
FROM cleveland AS a, cleveland AS b
WHERE st_touches(a.geometry, b.geometry)
AND a."OID" <> b."OID"

Kluczem jest tutaj - jak to ujął. . .

[Moran's I] to tak naprawdę nic więcej niż współczynnik korelacji Pearsona wprowadzony w kontekst przestrzenny

. . . co oznacza, że ​​podstawowy test ciągłości może wytworzyć wiarygodną matrycę i ocenę. Przetestowałem to na własnych danych i stwierdziłem, że daje naprawdę podobne wyniki do innych implementacji Morana I.

Bill Morris
źródło
1

Przepraszam za podwójną odpowiedź tutaj, ale odkąd opublikowałem moją pierwszą sugestię , natknąłem się na bardziej wszechstronny zestaw narzędzi do robienia wszelkiego rodzaju analiz (takich jak globalny i lokalny I Morana):

Wał korbowy , moduł Python / PostGIS firmy Carto.

Używam go do analiz produkcyjnych podobnych do twojego przypadku użycia od kilku miesięcy i działa bezbłędnie. Wygląda CDB_AreasOfInterestGlobal()na to, że chcesz użyć tej funkcji.

Bill Morris
źródło