Du polygone à la mesure continue de la diversité?

11

Tout d'abord; J'ai essayé de trouver une question similaire, sans succès. C'est peut-être parce que je suis assez nouveau dans le SIG et je ne sais pas vraiment ce que je recherche exactement. Si quelqu'un me pointe vers un problème similaire, je serais heureux de supprimer ce message.

J'ai besoin de créer une variable «continue» ou raster (dans de petites cellules de grille) de la diversité de la population pour un pays donné. J'ai un fichier de formes montrant la répartition des groupes ethniques dans les polygones (fig.1), et le résultat que je recherche est un `` indicateur moyen de diversité '' dans chacune des unités administratives (AU, dans ce cas, le 360 circonscriptions nigérianes).

Fig.1 - Polygones de groupes de population

Fig 1. Polygones de groupes de population au Nigeria

La solution que j'ai trouvée était d'obtenir le pourcentage d'aire de chaque polygone dans chaque AU et de calculer un indice d'hétérogénéité à partir de cela. Mais le problème est que je laisserais de côté beaucoup d'informations en raison de la répartition des unités administratives. Comme le montre la fig. 2, les carrés «a», «b» et «c» auraient le même «indice de ségrégation», mais il est clair qu'ils ne sont pas dans la même position vis-à-vis des «points chauds».

Fig 2

Fig 2.

Je pensais donc qu'une autre solution pourrait être de créer une carte en grille et de calculer la distance jusqu'à la frontière la plus proche, mais encore une fois partager une seule frontière n'est pas la même chose que d'être dans la partie centrale de la carte, où plusieurs groupes vivent ensemble.

Après avoir trouvé cette question , je suppose que les polygones pourraient être transformés en points en utilisant leurs centroïdes, puis appliquer la même méthode. Mais la vérité est que je suis nouveau dans ce domaine, et cette question n'a pas vraiment de réponse claire. Comment ai-je pu faire une telle chose?

En utilisant un autre exemple, je veux créer quelque chose comme ça (images de ce site Web ):

1 2

Étant donné la distribution de certains points avec différentes caractéristiques qualitatives , obtenez une mesure de la diversité à partir de laquelle je pourrais estimer «l'hétérogénéité moyenne» de chaque unité administrative.

Comment pourrais-je le faire? J'utilise R et QGIS, donc je ne me soucie pas de la plate-forme sur laquelle la solution est basée.

Fran Villamil
la source

Réponses:

5

Je donnerais vraiment une chance à SpatiaLite pour y arriver! Le plus commodément, vous pouvez utiliser le plugin QSpatiaLite dans QGIS.

Configurez simplement une grille de polygones avec une taille raisonnable pour les cellules de grille. Ensuite, coupez la grille avec le polygone du groupe ethnique et calculez l'aire de chaque intersection. Avec le tableau résultant, vous pouvez calculer vos indices en utilisant les zones d'intersection, qui sont des zones de groupes ethniques dans chaque cellule de grille, comme «métrique d'abondance» (c'est ainsi qu'un écologiste le nommerait)!

En supposant que votre couche de groupes ethniques s'appelle 'EthnicGroups', avec un champ 'group' et que la grille de polygones soit nommée 'Grid' avec un champ 'ID', cette requête SQL s'appliquerait:

SELECT 
  g.ID AS gID, 
  e.group AS egr,
  AREA(INTERSECTION(e.geometry, g.geometry)) AS egr_area
FROM Grid AS g JOIN EthnicGroups AS e 
ON INTERSECTS(g.Geometry, e.Geometry)
ORDER BY gID, egr_area ASC

Pour calculer les métriques de diversité avec des formules spéciales, j'utiliserais R, regroupant ces «abondances», donnant une valeur pour chaque cellule de grille, qui pourrait enfin être reliée à vos géométries de grille!

Pour obtenir votre diversité moyenne pour chaque UA, vous pouvez utiliser les indices de diversité que vous avez joints à la grille. Encore une fois, en utilisant SpatialLite, regroupez les valeurs dans les polygones AU en appliquant la fonction moyenne.

C'est drôle que je viens d'écrire un article sur ce sujet, qui pourrait vous donner une idée: http://thebiobucket.blogspot.co.at/2014/12/usecase-find-dominant-species-and.html

En ce qui me concerne, je conseillerais d'ignorer l'idée de «continuité» à cet égard, car la diversité n'a de sens que par rapport à l'unité spatiale sur laquelle elle est basée. Je pense donc que toutes les approches et techniques sophistiquées qui utilisent une sorte de moyenne ou d'interpolation sur d'autres unités que les unités spatiales sur lesquelles vos indices s'appuient, n'ajouteront rien de valeur, mais obscurciront plutôt le résultat!

Voici une carte montrant la diversité des amphibiens (plutôt qu'ethniques;) pour laquelle j'ai utilisé la même méthode: entrez la description de l'image ici

ps: Ce lien pourrait être intéressant si vous voulez obtenir la diversité dans un rayon de recherche donné!

Kay
la source
4

Dans QGIS, vous pouvez générer une grille de points au-dessus de vos polygones. Vous trouverez cette fonction sous Vector -> Outils de recherche (je pense que cela s'appelle qu'en anglais, ma version de QGIS est dans une autre langue.) Vous devrez trouver une granularité raisonnable en ce qui concerne l'espacement de la grille de points.

Ensuite, dans le menu Vector, vous effectuez une jonction d'attributs par emplacement (trouvée sous Gestion des données) en utilisant les points comme cible et les polygones ethniques comme source.

Vous disposez maintenant d'une grille de points avec un attribut ethnique pour chaque point.

Voici où cela devient un peu délicat. Vous pouvez générer un raster à l'aide de ces points, si vous recodez votre attribut en une valeur numérique (par exemple en utilisant l'outil Créer un champ numérique équivalent dans la boîte à outils de traitement QGIS.) Vous pouvez ensuite utiliser Créer une grille sous Raster -> Analyse. Ici, vous pouvez peut-être expérimenter l'analyse de la moyenne glissante ou du voisin le plus proche, puis vous pouvez utiliser les statistiques zonales (il existe un certain nombre d'options dans la boîte à outils Traitement, ainsi que dans le menu raster).

L'astuce est de savoir comment obtenir l'indice d'hétérogénéité tout en ignorant la valeur arbitraire créée en recodant les attributs dans un index numérique, mais vous pourriez avoir une idée de la vôtre ici. Je ne sais pas trop comment procéder sans prendre trop de temps par rapport à ce que je suis censé faire en ce moment :)

Une autre idée est de charger votre grille de points dans une base de données Spatialite (ou PostGIS, mais c'est une opération plus importante pour démarrer). Ensuite, vous pouvez utiliser SQL et les fonctions spatiales dans la base de données pour tester tous les points dans un rayon défini de chaque point à lui donner un indice de variance local, puis générer un raster à partir de cette valeur. J'ai travaillé un peu avec ça récemment.

J'espère que cela vous donne quelques idées! N'hésitez pas à utiliser les commentaires si vous souhaitez en discuter davantage.

hexamon
la source
Merci beaucoup!! Je vais essayer de le résoudre et je reviendrai vers vous si j'ai d'autres problèmes (bien sûr que je le ferai).
Fran Villamil
2

Il y a un certain nombre d'hypothèses dans votre question qui doivent être abordées avant d'arriver à la question de mise en œuvre. L'exemple que vous fournissez est une analyse de la biodiversité basée sur un échantillon de variétés d'une espèce végétale donnée. J'ai regardé le manuel du logiciel qui a été utilisé pour générer ce raster, et rien n'indique qu'il soit approprié ou a été appliqué aux populations humaines. Le centre de gravité d'une zone culturelle humaine (que vous proposez d'utiliser pour votre analyse) n'est en aucune façon analogue à un échantillon (c'est-à-dire une observation réelle) d'une collection de plantes.

La proximité des sous-groupes humains (divisée selon n'importe quelle dimension, ici la dimension est l'ethnicité) peut être exprimée comme une mesure de diversité ou une mesure de ségrégation. L' indice de Herfindahl est une mesure de la diversité largement utilisée , qui varie de 0 à 1 et est petite lorsqu'une zone comprend de nombreux petits groupes et grande lorsqu'une zone comprend de nombreux grands groupes. Il est calculé au sein d'une population ou d'une zone sans référence à quoi que ce soit en dehors de cette population ou de cette zone. Ceci est problématique car vous êtes intéressé par l'interaction spatiale à travers les frontières administratives.

L' indice de dissimilarité , qui varie de 0 à 1, est une mesure de ségrégation largement utilisée , qui est faible lorsque les sous-zones ont la même répartition de la population que la grande région, et grande lorsque les sous-zones sont exclusivement un groupe ou un autre. Il est généralement calculé dans une région pour laquelle des informations démographiques sont disponibles pour de nombreuses sous-zones (par exemple, vous pouvez calculer l'indice de dissemblance noir-blanc pour la région métropolitaine en fonction des données démographiques pour tous les secteurs de recensement de la région métropolitaine). Wong (2002) a modélisé le localla ségrégation en calculant l'indice de dissimilarité pour chaque sous-zone en fonction de la population des sous-zones voisines (c.-à-d. contiguës) plutôt que de la région dans son ensemble. Une limitation de cette mesure est qu'elle ne peut fonctionner que pour deux groupes à la fois. Cependant, je l'ai utilisé dans mes propres recherches en utilisant les deux groupes les plus peuplés de chaque zone de voisins.

Vous avez indiqué que vous souhaitez calculer la diversité pour chaque unité administrative (AU). Mais vous dites également que vous devez créer un raster continu de diversité. Il n'est pas clair pour moi si vous voulez réellement un raster continu de diversité ou si vous pensez que vous en avez besoin pour calculer la diversité de l'UA. Si vous voulez en fait une diversité continue, je recommanderais de jeter un œil à O'Sullivan & Wong (2007) , qui visualise la diversité continue à l'aide d'un estimateur de densité de noyau. Cela a pour effet de rendre compte de l'interaction de la population au-delà des frontières administratives, ce que vous indiquez que vous souhaitez.

OTOH, si vous voulez vraiment la diversité par unité administrative, vous pouvez le faire en utilisant soit l'indice de Herfindahl soit l'indice local de dissimilarité. Mais cela nécessite des informations sur les caractéristiques démographiques de chaque UA. Je suppose que la raison pour laquelle vous utilisez la carte des régions ethniques est que vous ne disposez pas de données sur la population ethnique pour les UA. Mais si vous connaissez la population de chaque UA et que vous la coupez avec la grille des zones ethniques, vous pouvez allouer la population des UA aux zones ethniques. L'hypothèse importante avec ceci et les autres réponses proposées jusqu'à présent est qu'ils supposent que la densité de population est constante dans toute l'UA ou la région ethnique. Cette hypothèse semble prima facie invraisemblable, mais vous connaissez les données mieux que moi et pouvez être à l'aise avec cette hypothèse.

Sur la base de ma compréhension de vos objectifs, je pense que mon approche serait la suivante:

  1. Modéliser la population au sein des sous-unités où les sous-unités peuvent être l'intersection des UA et des régions ethniques, ou une grille vectorielle ou raster. Avec suffisamment de temps, je voudrais l'essayer dans les deux sens.
  2. Calculez l'indice Herfindahl pour chaque UA, mais, d'après Wong (2002), je calculerais l'indice Herfindahl en fonction du voisinage de chaque UA plutôt que de la population au sein de l'UA. Avec suffisamment de temps, j'expérimenterais avec les quartiers basés sur la contiguïté et sur la distance.

Bien sûr, rien de tout cela ne concerne la mise en œuvre technique, mais si vous me donnez des commentaires à ce sujet, nous pouvons continuer à partir de là.

PS: Les articles universitaires auxquels j'ai lié sont fermés. Si OP n'a pas accès à une bibliothèque universitaire, n'hésitez pas à me contacter par e-mail et je vous les fournirai.

Lee Hachadoorian
la source
+1 Peut-être pas techniquement détaillé mais toujours très utile et instructif!
Joseph