#1 Mon 07 August 2017 18:02
- remyK
- Participant occasionnel
- Date d'inscription: 19 Mar 2015
- Messages: 44
QGIS: Analyse spatiale / poids d'un point
Bonjour,
J'ai un problème pour créer une carte et c'est un peu complexe à expliquer.
J'ai une couche vecteur avec des points (1711). Dans la table de cette couche, j'ai un champs Id et un Champs "poids" attribué à chaque point qui va de 1 à 100.
Je souhaiterais faire une carte de zonage de ces "poids" (dans l'objectif de mettre en évidences les endroits où les "poids" sont élevés), c'est à dire que là où les "poids" sont haut la carte soit d'une couleur imaginons rouge (pour faire comme des températures à la météo) et bleu là où les poids sont faibles.
Mais le problème c'est que des poids de 100 côtoient des poids de 5, donc là ou la zone devrait être toute rouge proche des 100, je souhaiterais qu'elle se tempère à causes des poids faible alentour.
Avez-vous des pistes ? je suis preneur de toute les idées.
Merci d'avance
Dernière modification par remyK (Mon 07 August 2017 18:06)
Hors ligne
#2 Tue 08 August 2017 09:35
Re: QGIS: Analyse spatiale / poids d'un point
Bonjour,
Ca s'appelle les cartes de chaleur
http://docs.qgis.org/1.8/fr/docs/user_m … atmap.html
Dans QGIS, dans les styles de la couche, on peut directement afficher un rendu "carte de chaleur" sur une couche de points
Voir page 25 de http://www.geoinformations.developpemen … 7449b4.pdf
ou aussi voir du côté de l'interpolation :
https://docs.qgis.org/2.2/fr/docs/user_ … ation.html
geodata au cerema et petits billets en géomatique
Hors ligne
#3 Tue 08 August 2017 11:15
- remyK
- Participant occasionnel
- Date d'inscription: 19 Mar 2015
- Messages: 44
Re: QGIS: Analyse spatiale / poids d'un point
Merci beaucoup pour votre réponse.
Le problème de la carte de chaleur directement à partir du volet "style" de la carte des points, est qu'on ne peut pas ajuster l'échelle pour faire ressortir les "poids" très lourd au milieu de faible ou vice-versa.
La fonction carte de chaleur ne prend pas en compte le "poids" du point mais uniquement la densité (si j'ai une forte densité de points mais d'un poids faible, la carte va quand même faire ressortir cette forte densité).
Et l'interpolation, mon premier choix mais le résultat me convient pas, car pour préciser j'ai des zones avec beaucoup de points (communes) mais entre les communes je n'ai aucun points. Mon problème est que les espaces sans point sont considérés par l'interpolation avec un poids moyen et je souhaiterais qu'elles soit faibles voir nulles.
C'est complexe à expliquer mais pour être plus claire donnons trois échelles bleue = poids faible, vert = poids moyen et rouge = poids fort. Au sein de la commune tout se passe bien les poids forts sont mis en avant les poids faible et les poids moyens aussi. Mais le reste de ma carte, je souhaiterais que tout soit bleu, mais tout est vert (donc même en changeant les échelles de couleurs le poids reste moyen).
Auriez-vous une solution ?
Dernière modification par remyK (Tue 08 August 2017 11:16)
Hors ligne
#4 Tue 08 August 2017 16:28
Re: QGIS: Analyse spatiale / poids d'un point
Bonjour,
Tout d'abord, les cartes de chaleur prennent bien en compte le poids des points selon une colonne/attribut de la couche de points. Et l'on peut aussi régler la distance de "rayonnement" des points qui détermine le lissage de la carte. Plus la carte sera lissée, et plus vous aurez de chance d'avoir une carte "verte" et aucun trou bleu.
Ensuite, pour l'interpolation, rentre en ligne de compte le facteur de puissance qui influe sur les résultats.
geodata au cerema et petits billets en géomatique
Hors ligne
#5 Tue 08 August 2017 17:42
- remyK
- Participant occasionnel
- Date d'inscription: 19 Mar 2015
- Messages: 44
Re: QGIS: Analyse spatiale / poids d'un point
Bonjour,
Merci pour votre réponse. Ce problème est si complexe pour je suis sur pas grand chose.
En effet, si je prends ma couche de point et que je change le "style" en "carte de chaleur", je peux rentrer mon attribut comme poids, mais le problème étant que lissage ou non, la représentation des zones "chaudes" et des zones "froides" vont dépendre du zoom que j'applique, ce qui est tout a fait logique.
Pour exemple :
- Avec un diamètre de 100 mètre : je zoom sur une commune où il y a 2 de points chauds (à 100°C) et 30 points froid (0°C), je vais voir ressortir des zones en rouge là où il y a des points chaud et en bleu où il y des points froids (et c'est parfait). Mais si je dézoom pour avoir trois communes, dont une où il y a 10 points à 100°C et 5 point à 0°C, alors la première commune sort comme très peu chaude (il n'y aura plus aucune zone rouges) et je souhaite qu'elles ressortent quand même (100°C étant le max et c'est exactement ce que je veux montrer pour définir les zones d'interventions prioritaires).
- Avec un diamètre de 10 mètres : le problème est le même, avec un fort zoom j'ai bien mes zones (composé pour le coup de 3-4 pixels mais peu importe) en rouge ou c'est chaud et bleu ou c'est froid. Si je dézoom ces points sont lissés et je n'ai plus de points rouges.
Et cela vient du fait que je ne peux pas changer les couleurs et l'échelle des couleurs (si c'était possible je mettrais uniquement les zones de 100°C en rouge et le reste suivrait crescendo, du coup peut importe s'il y en a beaucoup ou non dans la commune j'aurais une zone rouge quand même)
Pour ce qui est de l'extension carte de chaleur (qui produit un raster) là on ne peut pas rentrer d'attribut d'une colonne comme poids.
Et oui l'interpolation ne considère pas là où il y a pas de points comme "zone froide" et c'est bien ça mon problème, parce qu'au sein des communes le zonage me convient très bien.
Peut-être une solution ?
Dernière modification par remyK (Tue 08 August 2017 17:44)
Hors ligne
#6 Wed 09 August 2017 10:33
Re: QGIS: Analyse spatiale / poids d'un point
Bonjour,
Pour ne pas avoir un rendu dépendant de l'échelle, il faut utiliser l'extension "carte de chaleur".
Dans celle-ci, on peut utiliser une colonne pour les poids : "utiliser le poids depuis..."
Il est préférable de ne pas modifier le résultat d'un calcul raster à moins d'informer sur la nature de la modification. Si vous n'avez pas de zone froide avec l'interpolation, c'est tout simplement parce que les paramètres renseignés pour son calcul, et la nature de ce dernier, ne produisent pas de zones froides. On ne peut pas forcer la nature des choses à moins d'en changer l'algorithme.
Vous pourriez tricher en mettant des valeurs égales à 0 voire négatives en lisière de commune mais je ne pense pas que cela soit une méthode très scientifique. Dans un tel cas, il faudra en tout cas informer sur la modification apportée.
geodata au cerema et petits billets en géomatique
Hors ligne