Construire des cartes thermiques efficaces?

65

Utilisation d'ArcGIS, QGIS, Grass et / ou GVSIG:

  • Quels sont certains des outils et processus impliqués dans la création de cartes thermiques efficaces?
  • Quels sont les plugins impliqués?
  • Quels sont les principaux besoins en données?
  • Quels sont les défauts des cartes thermiques existantes?
  • Quels sont certains des problèmes que les cartes thermiques ne peuvent pas couvrir efficacement?
  • Comment ne pas faire une carte de chaleur?
  • Existe-t-il de meilleures alternatives (dans le même contexte) que la carte thermique pour la représentation des données?
dassouki
la source
Bien qu'il n'utilise l' un des outils que vous avez spécifié, vous pouvez jeter un oeil à ce script Python et jjguy.com/heatmap
radek
1
Dassouki, pourriez-vous préciser ce que vous entendez par "carte thermique"? Wikipedia semble penser qu'il s'agit d'une interprétation choroplèthe d'un tableau de valeurs. Cela diffère de manière subtile mais importante de toutes les réponses de ce fil, ce qui suppose qu’il s’agit simplement d’une carte de tout attribut basé sur une grille (ou une image), notamment de celui qui a été interpolé sur la grille à partir de données ponctuelles. Les réponses à chacune de vos questions à puces seront différentes pour une véritable carte thermique.
whuber

Réponses:

74

Cette question a été convertie en wiki de communauté et en wiki bloqué car il s'agit d'un exemple de question qui cherche une liste de réponses et semble être assez populaire pour le protéger de la fermeture. Cela devrait être traité comme un cas spécial et ne devrait pas être considéré comme le type de question qui est encouragé sur ce site ou sur tout autre site Stack Exchange, mais si vous souhaitez apporter plus de contenu, n'hésitez pas à le faire en modifiant cette réponse. .


Il existe au moins deux types de cartes thermiques différentes:

  1. Des cartes thermiques représentant la concentration de points, et
  2. Cartes thermiques représentant les distributions des valeurs d'attribut

Chaque méthode a des avantages et des problèmes, je crains d’entrer dans les détails, c’est bien au-delà de ce Q & A.

Je vais essayer de lister quelques méthodes et fonctions pour QGIS et GRASS.

Concentration de points

Si vous suivez le mouvement de la faune, des véhicules, etc., il peut être utile d’évaluer les régions présentant une forte concentration de messages de localisation.

Outils: par exemple, le plugin QGIS Heatmap (disponible dans les versions> 1.7.x) ou GRASS v.neothers ou v.kernel

Distributions de valeurs d'attributs

Ici, nous parlons plus ou moins de méthodes d’interpolation. Les méthodes comprennent:

  1. IDW

    Selon l'implémentation, cela peut être global (en utilisant tous les points disponibles dans l'ensemble) ou local (limité par le nombre de points ou la distance maximale entre les points et la position interpolée).

    Outils: plug-in d'interpolation QGIS (global), GRASS v.surf.idw ou r.surf.idw (local)

  2. Splines

    Encore une fois, un grand nombre d'implémentations possibles. Les B-Splines sont populaires.

    Outils: GRASS v.surf.bspline

  3. Krigeage

    Méthode statistique avec différents sous-types.

    Outils: GRASS v.krige (merci à om_henners pour le conseil) ou en utilisant R.

dessous
la source
1
Il existe une interface GRASS pour le krigeage, v.krige ( grass.osgeo.org/wiki/V.krige_GSoC_2009 ), mais elle nécessite toujours R, ainsi que les divers packages et liaisons R mentionnés sur la page GRASS Wiki.
om_henners
Depuis QGIS 2.8, il existe un moteur de rendu Heatmap pour les calques de points. Pas besoin de créer de nouvelles données.
Alexandre Neto
34

Statistiquement, voici comment procéder pour dresser une carte thermique:

1) Intégrez des fonctionnalités ponctuelles. L’idée d’intégration consiste à prendre des points qui doivent être considérés comme coïncidents et à les fusionner en un seul lieu. J'aime utiliser l' analyse du plus proche voisin et utiliser une valeur appropriée à partir de là. (Par exemple, lorsque je fais une carte thermique de crime, j'utilise le premier voisin moyen le plus proche pour l'ensemble de données de parcelle sous-jacent par rapport auquel les crimes sont géocodés).

2) Recueillir des événements . Cela crée un poids spatial pour tous vos points intégrés. Par exemple, si vous avez 5 événements au même endroit, cela deviendra un point avec un poids 5. Ceci est essentiel pour les deux prochaines étapes. Si vous avez besoin d'agréger un attribut dans le pool d'événements, c'est-à-dire que différents événements ont un poids plus élevé, vous pouvez utiliser une jointure spatiale un à un . Utilisez la sortie "collect event" comme cible et vos événements intégrés d'origine comme fonctionnalités de jointure. Définissez les règles de fusion de la carte de champs combinant statistiquement l'attribut sur les événements intégrés (normalement avec un SUM, bien que vous puissiez utiliser d'autres statistiques).

3) Déterminez l'autocorrélation spatiale de pic en utilisant I de Global Moran . Comme il est dit, lancez Global Moran's I à différents intervalles pour déterminer la bande de pointe de l'autocorrélation spatiale à l'échelle appropriée à l'analyse que vous effectuez. Vous voudrez peut-être réexécuter le voisin le plus proche sur vos événements collectés pour déterminer la plage de début des tests I de votre moran. (par exemple, utilisez la valeur maximale pour le premier voisin le plus proche)

4) Lancez Getis-Ord Gi * . Utilisez une bande de distance fixe basée sur l'analyse de votre moran ou utilisez la bande de distance fixe comme zone d'indifférence. Votre poids spatial des événements de collecte est votre champ de nombre numérique. Cela vous donnera des scores z pour chaque point d'événement de votre ensemble.

5) Exécuter IDW contre les résultats de Getis-Ord Gi *.

Ce résultat est très différent de ce que vous obtenez avec la densité du noyau. Il vous montrera où les valeurs élevées et les valeurs faibles sont regroupées plutôt que simplement où les valeurs sont élevées, sans tenir compte de la classification, comme dans la densité du noyau.

Blord-Castillo
la source
20

Bien que j'aime les cartes thermiques, je me rends compte qu'elles sont souvent mal utilisées.

En général, ce que j'ai vu est un processus dans lequel la couleur de chaque pixel est basée sur le résultat d'une fonction inversée pondérée en fonction de la distance appliquée à une collection de points. Chaque fois qu’une carte comporte de nombreux repères de points qui se chevauchent, je pense qu’il est utile d’envisager une carte thermique.

Voici une API basée sur le Web .

GeoChalkboard a un bon tutoriel pour cela .

Vous pouvez utiliser IDW dans ArcGIS.

Kirk Kuykendall
la source
7
Sachez simplement qu'IDW est très sensible aux emplacements de collecte de données. Si les données sont regroupées, par exemple, vous risquez d'obtenir de mauvaises anomalies mathématiques.
Reed Copsey
@Reed Copsey Quelle alternative suggéreriez-vous?
Fmark
2
@fmark: Il existe de nombreuses routines d'interpolation que vous pouvez utiliser à la place d'IDW, notamment les approches basées sur le voisinage naturel / la triangulation, le Krigeage, le splining / tension minimale, etc.
Reed Copsey le
@Reed Je ne me suis jamais vraiment préoccupé de l'exactitude mathématique des cartes thermiques (je devrais peut-être l'être). Mais je pense qu'ils communiquent utilement les grappes dans de nombreuses situations. Voici un exemple de carte qui, je pense, pourrait être utilement convertie en carte thermique
Kirk Kuykendall
2
Je pense qu'ils sont un excellent outil. La rectitude mathématique / statistique n’est probablement importante que si vous utilisez les résultats pour la prise de décision, mais si elle vise à donner le sens général de la distribution, IDW convient probablement. (C'est plutôt une question de grappes qui cause d'importants "biais" dans les résultats de la
Reed Copsey
12

Pour les cartes de chaleur simples et la génération de lignes de contour, j'ai utilisé QGis avec l'intégration Grass:

  1. Charger des points de données
  2. Charger une forme limite - par exemple une limite de comté
  3. Créer un jeu de cartes Grass
  4. Ouvrez la boîte à outils Grass et cliquez sur la liste de modules pour rechercher chaque outil.
  5. Chargez le module v.in.ogr.qgis et chargez les données de point et la forme de la frontière, en vous souvenant chaque fois de cliquer sur l' affichage de la sortie pour chaque nom - attribuez à chacun un nom utile comme pointdata et maskshape.
  6. Convertissez maskshape en un raster pour l'utiliser comme masque avec v.to.rast et pour l'ajouter au jeu de cartes - appelez-le comme masraster - cela peut prendre du temps pour des polygones complexes.
  7. Chargez le module r.mask pour forcer la prochaine action à être limitée à la région de la mémoire tampon.
  8. Exécutez v.surf.rst pour produire une grille interpolée à partir de données ponctuelles - choisissez la colonne appropriée en tant que champ attributaire pour effectuer l'interpolation et appelez-la sous la forme suivante : rastersurface . C'est le bit qui prend du temps et génère un raster qui peut être utilisé comme carte de chaleur ou peut être ombré en 3D.
  9. Fermer la boîte à outils Grass
  10. Utilisez le plug-in GDAL Raster Contours en choisissant le raster GRASS comme entrée. laissez la valeur des niveaux par défaut à 10 et choisissez un répertoire de sortie où le fichier de formes de contours sera enregistré. Vérifiez le "Nom de l'attribut" et tapez un nom.

NB: Pour que cela fonctionne, les jeux de données doivent être dans la même projection!

Adrian
la source
4

Je pense que cette question a été largement résolue, à l'exception de quelques points concernant les problèmes.

Les cartes thermiques peuvent être formidables, mais l’interprétation est un défaut classique. Prenez la différence entre une carte thermique des événements criminels et une carte (thermique ou autre) du taux / de la proportion de criminalité. Bien que la carte thermique des événements puisse être utile pour identifier la densité globale des événements, elle est aveugle en tant qu’estimation du risque, mais elle serait souvent interprétée ou mal utilisée de cette manière. Considérez le même nombre d'événements dans une région de la même taille et de la même forme, mais avec une population différente, alors que la criminalité peut être concentrée dans une région, tout simplement parce qu'il y a plus de personnes dans cet espace. En outre, les taux pour les données d'événement, comme pour les crimes, peuvent être difficiles à modéliser, car pour produire un raster de carte thermique, ils peuvent nécessiter un événement comme un modèle de population, mais les personnes ne restent pas immobiles.

Un deuxième problème est qu'une carte thermique se limite à considérer une seule échelle d'espace et que la sélection de cette échelle d'espace, c'est-à-dire la taille du noyau ou le taux de dégradation, peut être compliquée et dépend des objectifs de l'étude mais doit être justifiée. . Si le but est d'identifier le centre du groupe le plus puissant et l'échelle à laquelle il se produit (peut-être pour identifier la source d'une épidémie et un facteur de propagation de celle-ci), une meilleure option pourrait être d'envisager plusieurs échelles. Avec des pondérations appropriées proportionnelles à l'échelle / surface pour produire un raster en 3 dimensions, les maximums locaux dans le raster 3D en échelle spatiale indiquent l'emplacement du centre des clusters et leurs tailles respectives, ainsi que la persistance entre les échelles.

Craig Stobbs
la source
1
Vous faites des points très valables. Ces deux problèmes sont en réalité des problèmes classiques de la géographie. Le premier problème est lié à l’interprétation de la non-uniformité sous-jacente de l’espace, c’est-à-dire que la répartition des personnes n’est pas uniforme (avec certaines zones peu peuplées), la possibilité de crime est également non uniforme. Le motif dans l'un est forcé par le motif dans l'autre. Le deuxième problème d’échelle fait partie du problème d’unité de surface modifiable (MAUP), qui affectera toute mesure dépendant d’une zone à mesurer, par exemple la densité. C'est un problème classique dans la plupart des travaux géographiques.
WhiteboxDev
Considérez également les polygones de Thiessen comme un aperçu des patrons spatiaux. Ils sont assez simples, mais sont également capables de montrer beaucoup de détails, sont un interpolateur exact et semblent contourner certains problèmes d'échelle qui minent d'
Tom Dilts