Implementieren der räumlichen Autokorrelation mithilfe von QGIS oder PostgreSQL oder einer anderen kostenlosen Anwendung? [geschlossen]

13

Ich bin neu bei GIS.

Ich habe zwei Ebenen in einer PostgreSQL-Datenbank.
Die erste Ebene enthält Punkte, an denen Ereignisse in Europa stattgefunden haben. Die zweite enthält ein Shapefile von Europa.

Ich konnte die Punkte auf der Europakarte mit QGIS kartieren. Ich möchte jetzt die räumliche Autokorrektur (Moran i) implementieren.

Ich habe ein paar Demos gesehen, in denen GeoDA verwendet wurde, aber es scheint, dass es nur ein einziges Shapefile handhabt.

Kann mir jemand einen Hinweis geben, wie dies mit QGIS, PostgreSQL oder einer anderen kostenlosen Anwendung implementiert werden kann?

John Smith
quelle

Antworten:

15

Learning by doing ist mein bevorzugter Weg. Und wenn es um räumliche Statistiken geht, wird R ein äußerst leistungsfähiges Werkzeug. Wenn dies eine Option ist, durchsuchen Sie einige Kursmaterialien, laden Sie die Daten herunter und probieren Sie sie selbst aus.

Einige Ansatzpunkte zur räumlichen Autokorrelation (SA) (und generell zum Umgang mit räumlichen Inhalten in R):

  1. Das Zentrum für Demografie- und Ökologiestudien (CSDE) der University of Washington stellt Materialien aus dem Workshop Spatial R zur Verfügung .

  2. Das Institut für Quantitative Sozialwissenschaften der Harvard University bietet Materialien aus dem Workshop Angewandte Raumstatistik in R zu SA an.

  3. Die Abteilung für Geographie an der Universität von Colorado bietet Materialien zu SA im Rahmen des Kurses Einführung in quantitative Methoden an .

Sobald Sie mit R vertraut sind, können Sie es mit PostgreSQL unter Verwendung von PL / R - R Procedural Language für PostgreSQL koppeln , aber ich kann es nicht kommentieren, da ich mit dem Thema nicht vertraut bin.

Python könnte eine andere Alternative sein. PySAL ist eine aktiv entwickelte und gut dokumentierte Bibliothek, mit der Sie alle GeoDa-Funktionen, einschließlich SA (und höchstwahrscheinlich sogar noch mehr), implementieren können . Python und Postgres sind normalerweise gute Freunde. Wenn Sie also etwas Zeit investieren, können Sie höchstwahrscheinlich auch diese beiden heiraten.

radek
quelle
2

Ich habe keine Ahnung, wie Sie Ihre QGIS / PostgreSQL-Idee ausführen sollen, aber die folgende Software kann Maße für die Autokorrelation berechnen

GeoDa kann nur Vektor-, Passage2- und SAGA-Raster verarbeiten, PAST nur XYZ.txt und SAM (glaube ich) beide.

Jens
quelle
2

Art Lembo hat ein einfaches Beispiel eines Pseudo-Morans I für 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"

Der Schlüssel hier ist, wie er es ausdrückt. . .

[Morans I] ist eigentlich nichts anderes als der Korrelationskoeffizient von Pearsons, der in einen räumlichen Kontext geraten ist

. . . Dies bedeutet, dass ein grundlegender Kontiguitätstest eine glaubwürdige Matrix und Bewertung ergeben kann. Ich habe dies an meinen eigenen Daten getestet und festgestellt, dass es wirklich ähnliche Ergebnisse liefert wie die I-Implementierungen anderer Moraner.

Bill Morris
quelle
1

Entschuldigung für die doppelte Antwort hier, aber seit ich meinen ersten Vorschlag gepostet habe, bin ich auf ein umfassenderes Toolkit gestoßen, mit dem ich alle Arten von Analysen wie diese durchführen kann (einschließlich des globalen und lokalen Morans I):

Kurbelwelle , ein Python / PostGIS-Modul von Carto.

Ich verwende es seit einigen Monaten für Produktionsanalysen, die Ihrem Anwendungsfall ähneln, und es funktioniert einwandfrei. Es sieht aus wie CDB_AreasOfInterestGlobal()die Funktion, die Sie verwenden möchten.

Bill Morris
quelle