Faire une carte thermique à partir des données de ligne dans QGIS?

12

Je souhaite effectuer une analyse de densité de ligne pour mes données de ligne, en fonction d'un attribut.

L'option heatmap (analyse de la densité du noyau) ne semble être possible que pour les données ponctuelles.

J'ai essayé de convertir mes données de ligne en points et de créer une carte thermique, mais les attributs pour le poids ont été perdus lors de la conversion.

Il s'agit d'une analyse de densité de ligne effectuée avec ArcGIS. Je cherchais à faire de même avec QGIS.

entrez la description de l'image ici

Est-il possible d'effectuer une analyse de densité de ligne similaire dans QGIS? et ce sont les données sur QGIS

user110637
la source

Réponses:

4

Je ne trouve pas de moyen de le faire dans QGIS via les fonctions DB Manager / SQLite, mais dans PostGIS, nous faisons ce qui suit:

select
(ST_DumpPoints(l.geom)).geom
from linedata as l

Ceci, exporté vers une nouvelle table, permet les points des lignes (pour notre cas des élèves PGRouting à leur école) afin que nous puissions visualiser le hotspot des itinéraires que les élèves «pourraient» emprunter:

entrez la description de l'image ici

DPSSpatial
la source
4

En fait, il est possible de faire de la densité de ligne dans QGIS en utilisant les menus standard en envoyant des paramètres aux exécutables GDAL.

L'utilisation de gdal_rasterize à l'aide du commutateur -burn -add créerait un raster de densités de lignes ou de points, sans rayon de recherche comme densités de noyau et similaires. Juste combien de points ou combien de lignes dans une cellule raster.

gdal_rasterize se trouve dans le menu Raster -> Conversion -> Rasterize. Dans le dernier champ de texte, vous appuyez sur le bouton du crayon et modifiez le texte pour inclure "-burn 1 -add" comme ci-dessous. Naturellement, vous modifiez les paramètres -tr (résolution) et le nom d'entrée et de sortie en fonction de votre situation.

gdal_rasterize -burn 1 -add -tr 200.0 200.0 -l lignes C: /lines.shp C: /out_lines.tif

Jukka Rahkonen m'a donné les indices sur la liste de diffusion gdal_dev. Je le cherche depuis des années.

Concernant les valeurs des cellules raster pour les lignes tramées, je ne suis pas sûr de ce que les valeurs représentent. Apparemment, ce n'est pas un nombre de lignes ou des longueurs de lignes.

Densité de ligne avec gdal_rasterize

Karl Zinglersen
la source
3

En utilisant une approche similaire à la réponse de @DPSSpatial, j'utiliserais le plugin QChainage pour créer des points régulièrement espacés le long de chaque ligne.

Ce plugin génère des points le long de la ligne, mais il ne copie pas les attributs de la ligne.

Ici, je suppose WGS84 (4326, degrés Lat / Lon). Vous voudrez probablement le faire en utilisant une projection appropriée en mètres.

  • utiliser QChainage pour générer des points le long de la ligne, par exemple tous les 0,05 degrés
  • Tamponnez cette couche, par exemple de 0,001 degrés.
  • Effectuez une jointure spatiale ( Vector> Outils de gestion des données> Attributs de jointure par emplacement ) (en utilisant "Intersects"), des points tamponnés à votre couche de ligne d'origine. Cela permettra aux points de capter la valeur d'influence des lignes en dessous.
  • Convertissez ce calque en points à l'aide de Vector> Outils de géométrie> Polygones centroïdes

Enfin, j'utiliserais le rendu de carte thermique standard. Assurez-vous d'utiliser les points de poids en définissant et en utilisant le champ d'influence.

Vous devriez maintenant avoir quelque chose comme ça. Les nombres le long de chaque ligne indiquent la valeur "d'influence".

entrez la description de l'image ici

Steven Kay
la source