24.1.4. Interpolation
24.1.4.1. Carte de chaleur (estimation par noyau)
Crée un raster de densité (heatmap) d’une couche vectorielle de points d’entrée à l’aide de l’estimation de la densité du noyau.
La densité est calculée en fonction du nombre de points dans un emplacement, avec un plus grand nombre de points groupés résultant en des valeurs plus grandes. Les cartes thermiques permettent d’identifier facilement les points chauds et de regrouper les points.
Paramètres
Libellé |
Nom |
Type |
Description |
---|---|---|---|
Couche de points |
|
[vector: point] |
Couche vectorielle ponctuelle à utiliser pour la carte thermique |
Rayon |
|
[number] Par défaut : 100.0 |
Rayon de recherche de la carte thermique (ou bande passante du noyau) en unités de carte. Le rayon spécifie la distance autour d’un point auquel l’influence de ce point sera ressentie. Des valeurs plus élevées entraînent un plus grand lissage, mais des valeurs plus petites peuvent montrer des détails plus fins et une variation de la densité de points. |
Taille du raster en sortie |
|
[number] Par défaut : 0.1 |
Taille de pixel de la couche raster en sortie en unités de couche. Dans l’interface graphique, la taille peut être spécifiée par le nombre de lignes ( |
Rayon du champ Optionnel |
|
[tablefield: numeric] |
Définit le rayon de recherche pour chaque entité à partir d’un champ d’attribut dans la couche d’entrée. |
Poids du champ Optionnel |
|
[tablefield: numeric] |
Permet aux entités en entrée d’être pondérées par un champ d’attribut. Cela peut être utilisé pour augmenter l’influence de certaines entités sur la carte thermique résultante. |
Kernel shape |
|
[enumeration] Par défaut : 0 |
Contrôle la vitesse à laquelle l’influence d’un point diminue à mesure que la distance par rapport au point augmente. Différents noyaux se désintègrent à des rythmes différents, donc un noyau Cubique donne plus de poids aux entités plus proches du point que le noyau d’Epanechnikov. Par conséquent, le noyau Cubique produit des points chauds «plus nets» et Epanechnikov donne des points chauds plus lissés. Il existe de nombreuses formes disponibles (veuillez consulter la page Wikipedia pour plus d’informations) :
|
Taux de désintégration (noyaux triangulaires uniquement) Optionnel |
|
[number] Par défaut : 0.0 |
Peut être utilisé avec des noyaux triangulaires pour contrôler davantage la façon dont la chaleur d’une entité diminue avec la distance de l’entité.
|
Mise à l’échelle de la valeur de sortie |
|
[enumeration] Default: Raw |
Permet de modifier les valeurs du raster de carte thermique en sortie. Un des:
|
Carte de chaleur |
|
[raster] Default: |
Spécifiez la couche raster en sortie avec des valeurs de densité de noyau. Un des:
L’encodage du fichier peut également être modifié ici. |
Sorties
Libellé |
Nom |
Type |
Description |
---|---|---|---|
Carte de chaleur |
|
[raster] |
Couche raster avec valeurs de densité de noyau |
Exemple: création d’une carte thermique
Pour l’exemple suivant, nous utiliserons la couche vectorielle de points airports
de l’échantillon de données QGIS (voir Téléchargement de données test). Un autre excellent tutoriel QGIS sur la création de heatmaps peut être trouvé sur http://qgistutorials.com.
Dans Fig. 24.2, les aéroports de l’Alaska sont représentés.
Ouvrez l’algorithme Heatmap (Kernel Density Estimation) du groupe QGIS Interpolation
Dans le Point layer , sélectionnez
airports
dans la liste des couches de points chargées dans le projet en cours.Changez le Radius en
1000000
mètres.Remplacez le Pixel size X par
1000
. Les Pixel size Y, Rows et Columns seront automatiquement mis à jour.Cliquez sur exécuter pour créer et charger la carte de chaleur des aéroports (voir Fig. 24.4).
QGIS va générer la carte thermique et l’ajouter à votre fenêtre de carte. Par défaut, la carte thermique est ombrée en niveaux de gris, avec des zones plus claires montrant des concentrations plus élevées d’aéroports. La carte thermique peut maintenant être stylisée dans QGIS pour améliorer son apparence.
Ouvrez la boîte de dialogue des propriétés de la couche
heatmap_airports
(sélectionnez la coucheheatmap_airports
, ouvrez le menu contextuel avec le bouton droit de la souris et sélectionnez Propriétés).Sélectionnez l’onglet Symbologie.
Sélectionnez une étiquette appropriée Color ramp , par exemple
YlOrRd
.Cliquez sur le bouton Classifier.
Appuyez sur OK pour mettre à jour la couche.
Le résultat final est présenté dans Fig. 24.5.
Code Python
ID de l’algorithme : qgis:heatmapkerneldensityestimation
import processing
processing.run("algorithm_id", {parameter_dictionary})
L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir Utiliser les algorithmes du module de traitements depuis la console Python pour plus de détails sur l’exécution d’algorithmes via la console Python.
24.1.4.2. Interpolation IDW
Génère une interpolation IDW (Inverse Distance Weighted) d’une couche vectorielle ponctuelle.
Les points d’échantillonnage sont pondérés pendant l’interpolation de telle sorte que l’influence d’un point par rapport à un autre diminue avec la distance par rapport au point inconnu que vous souhaitez créer.
La méthode d’interpolation IDW présente également certains inconvénients: la qualité du résultat d’interpolation peut diminuer si la distribution des points de données d’échantillon est inégale.
De plus, les valeurs maximales et minimales dans la surface interpolée ne peuvent se produire qu’aux points de données d’échantillonnage.
Paramètres
Libellé |
Nom |
Type |
Description |
---|---|---|---|
Couche (s) d’entrée |
|
[string] |
Couche(s) vectorielle(s) et champ(s) à utiliser pour l’interpolation, codés dans une chaîne (voir la classe Les éléments d’interface graphique suivants sont fournis pour composer la chaîne de données d’interpolation:
Pour chacune des combinaisons couche-champ ajoutées, un type peut être choisi:
Dans la chaîne, les éléments de champ de couche sont séparés par |
Coefficient de distance P |
|
[number] Par défaut : 2.0 |
Définit le coefficient de distance pour l’interpolation. Minimum: 0,0, maximum: 100,0. |
Extent (xmin, xmax, ymin, ymax) |
|
[emprise] |
Étendue de la couche raster en sortie. Vous devez déclarer l’étendue de sortie en la choisissant dans le canevas de carte, en la sélectionnant dans une autre couche ou en la tapant manuellement. |
Taille du raster en sortie |
|
[number] Par défaut : 0.1 |
Taille de pixel de la couche raster en sortie en unités de couche. Dans l’interface graphique, la taille peut être spécifiée par le nombre de lignes ( |
Interpolé |
|
[raster] Default: |
Couche raster de valeurs interpolées. Un des:
L’encodage du fichier peut également être modifié ici. |
Sorties
Libellé |
Nom |
Type |
Description |
---|---|---|---|
Interpolé |
|
[raster] |
Couche raster de valeurs interpolées |
Code Python
ID de l’algorithme : qgis:idwinterpolation
import processing
processing.run("algorithm_id", {parameter_dictionary})
L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir Utiliser les algorithmes du module de traitements depuis la console Python pour plus de détails sur l’exécution d’algorithmes via la console Python.
24.1.4.3. Densité des lignes
Calcule pour chaque cellule raster, la mesure de densité des entités de type ligne dans un voisinage circulaire. Cette mesure est obtenue en additionnant tous les segments de ligne coupant le voisinage circulaire et en divisant cette somme par la surface de ce voisinage. Un facteur de pondération peut être appliqué aux segments de ligne.
Paramètres
Libellé |
Nom |
Type |
Description |
---|---|---|---|
Couche de ligne d’entrée |
|
[vector: any] |
Couche de vecteur d’entrée contenant des entités de type linéaire |
poids du champ |
|
[number] |
Champ de la couche contenant le facteur de pondération à utiliser lors du calcul. |
rayon de recherche |
|
[number] Default: 10 |
Rayon du voisinage circulaire. Les unités peuvent être spécifiées ici. |
Taille du pixel |
|
[number] Default: 10 |
Taille de pixel de la couche raster de sortie en unités de couche. Le raster a des pixels carrés. |
Réseau de densité linéaire |
|
[raster] Default: |
La sortie sous forme de couche raster. L’une des options suivantes :
L’encodage du fichier peut également être modifié ici. |
Sorties
Libellé |
Nom |
Type |
Description |
---|---|---|---|
Réseau de densité linéaire |
|
[raster] |
La couche raster de densité de lignes de sortie. |
Code Python
ID de l’algorithme : native:linedensity
import processing
processing.run("algorithm_id", {parameter_dictionary})
L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir Utiliser les algorithmes du module de traitements depuis la console Python pour plus de détails sur l’exécution d’algorithmes via la console Python.
24.1.4.4. Interpolation TIN
Génère une interpolation de réseau irrégulier triangulé (TIN) d’une couche vectorielle ponctuelle.
Avec la méthode TIN, vous pouvez créer une surface formée par des triangles de points voisins les plus proches. Pour ce faire, des cercles autour des points d’échantillonnage sélectionnés sont créés et leurs intersections sont connectées à un réseau de triangles non superposés et aussi compacts que possible. Les surfaces résultantes ne sont pas lisses.
L’algorithme crée à la fois la couche raster des valeurs interpolées et la couche de lignes vectorielles avec les limites de triangulation.
Paramètres
Libellé |
Nom |
Type |
Description |
---|---|---|---|
Couche (s) d’entrée |
|
[string] |
Couche(s) vectorielle(s) et champ(s) à utiliser pour l’interpolation, codés dans une chaîne (voir la classe Les éléments d’interface graphique suivants sont fournis pour composer la chaîne de données d’interpolation:
Pour chacune des combinaisons couche-champ ajoutées, un type peut être choisi:
Dans la chaîne, les éléments de champ de couche sont séparés par |
Méthode d’interpolation |
|
[enumeration] Par défaut : 0 |
Définissez la méthode d’interpolation à utiliser. Un des:
|
Extent (xmin, xmax, ymin, ymax) |
|
[emprise] |
Étendue de la couche raster en sortie. Vous devez déclarer l’étendue de sortie en la choisissant dans le canevas de carte, en la sélectionnant dans une autre couche ou en la tapant manuellement. |
Taille du raster en sortie |
|
[number] Par défaut : 0.1 |
Taille de pixel de la couche raster en sortie en unités de couche. Dans l’interface graphique, la taille peut être spécifiée par le nombre de lignes ( |
Interpolé |
|
[raster] Default: |
L’interpolation TIN en sortie en tant que couche raster. Un des:
L’encodage du fichier peut également être modifié ici. |
Triangulation |
|
[vector: line] Par défaut: |
Le TIN en sortie en tant que couche vectorielle. Un des:
|
Sorties
Libellé |
Nom |
Type |
Description |
---|---|---|---|
Interpolé |
|
[raster] |
L’interpolation TIN en sortie en tant que couche raster |
Triangulation |
|
[vector: line] |
Le TIN en sortie en tant que couche vectorielle. |
Code Python
ID de l’algorithme : qgis:tininterpolation
import processing
processing.run("algorithm_id", {parameter_dictionary})
L”id de l’algorithme est affiché lors du survol du nom de l’algorithme dans la boîte à outils Traitements. Les nom et valeur de chaque paramètre sont fournis via un dictionnaire de paramètres. Voir Utiliser les algorithmes du module de traitements depuis la console Python pour plus de détails sur l’exécution d’algorithmes via la console Python.