Implémentation de l'autocorrélation spatiale à l'aide de QGIS ou PostgreSQL ou de toute autre application gratuite? [fermé]

13

Je suis nouveau au SIG.

J'ai deux couches dans une base de données PostgreSQL.
La première couche contient des points où des événements se sont produits en Europe. Le second contient un fichier de formes de l'Europe.

J'ai pu cartographier les points sur la carte de l'Europe à l'aide de QGIS. Je voudrais maintenant implémenter l'autocorrélation spatiale (Moran i).

J'ai vu quelques démonstrations de cela en utilisant GeoDA, mais il semble qu'il ne gère qu'un seul fichier de formes.

Quelqu'un peut-il m'indiquer dans la bonne direction comment l'implémenter en utilisant QGIS ou PostgreSQL ou toute autre application gratuite?

John Smith
la source

Réponses:

15

Apprendre en faisant est ma façon préférée. Et quand il s'agit de statistiques spatiales, R devient un outil vraiment puissant. Donc, s'il s'agit d'une option, parcourez certains supports de cours, téléchargez les données et essayez-les vous-même.

Peu de points de départ couvrant l'autocorrélation spatiale (SA) (et de manière générale la gestion des éléments spatiaux dans R):

  1. Le Center for Studies in Demography and Ecology (CSDE) de l'Université de Washington fournit des documents de l' atelier Spatial R.

  2. L'Institut des sciences sociales quantitatives de l'Université de Harvard possède des documents de l' atelier Applied Spatial Statistics in R couvrant l'AS.

  3. Le département de géographie de l'Université du Colorado propose des documents sur l'AS dans le cadre de son cours d' introduction aux méthodes quantitatives .

Une fois que vous vous êtes familiarisé avec R, vous pouvez le coupler avec PostgreSQL en utilisant le langage procédural PL / R-R pour PostgreSQL , mais je ne peux pas le commenter car je ne connais pas le sujet.

Python pourrait être une autre alternative. PySAL est une bibliothèque activement développée et bien documentée qui vous permettra d'implémenter toutes les fonctionnalités de GeoDa, y compris SA (et très probablement encore plus). Python et Postgres sont généralement de bons amis, donc en investissant un peu de temps, vous pourriez très probablement les marier également.

radek
la source
2

Je ne sais pas comment exécuter votre idée QGIS / PostgreSQL mais le logiciel suivant peut calculer les mesures d'autocorrélation

GeoDa ne peut gérer que les vecteurs, Passage2 et SAGA uniquement raster, PAST uniquement XYZ.txt et SAM (je pense) les deux.

Jens
la source
2

Art Lembo a un exemple simple d'un pseudo-Moran I pour 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"

La clé ici est que - comme il le dit. . .

[Le Moran's I] n'est rien de plus que le coefficient de corrélation de Pearsons piégé dans un contexte spatial

. . . ce qui signifie qu'un test de contiguïté de base peut produire une matrice et une évaluation crédibles. J'ai testé cela sur mes propres données et je l'ai trouvé pour produire des résultats vraiment similaires à ceux des autres implémentations de Moran I.

Bill Morris
la source
1

Toutes mes excuses pour la double réponse ici, mais depuis la publication de ma première suggestion, je suis tombé sur une boîte à outils plus complète pour faire toutes sortes d'analyses comme celle-ci (y compris le Moran's I global et local):

Crankshaft , un module Python / PostGIS de Carto.

Je l'utilise depuis quelques mois pour des analyses de production similaires à votre cas d'utilisation et cela fonctionne parfaitement. Il semble que CDB_AreasOfInterestGlobal()c'est la fonction que vous souhaitez utiliser.

Bill Morris
la source