Script simple pour : Créer une série de cartes de chaleur avec un filtre temporel sur une couche
Peut être collé dans l’éditeur de la console Python de QGIS et personnalisé :
#Pour contenir les chemins des shapefiles sur lesquels un filtre sera appliqué (filtrer les années)
Imputfilter = []
#Pour contenir les chemins des images en sortie (cartes de chaleur)
Outputtif = []
#Décider des dates : nous voulons générer des cartes de 1997 à 2024
date = range(1997,2025)
for d in date:
dt = str(d)
Imputfilter.append("D:/GIS_DATA/Other/Agreg_WA.shp|subset="+'"WEEK"'+" LIKE "+ "'"+"%"+dt+"%"+ "'")
Outputtif.append('D:/GIS_DATA/West_Africa/Carte_Chaleur_'+dt+'.tif')
#Paramètre 1 du géotraitement des cartes de chaleur
P1="qgis:heatmapkerneldensityestimation"
#Il y a 28 cartes à générer, donc on va répéter l'opération 28 fois
CalHeatmap = range(0,28)
for h in CalHeatmap:
#créer le dictionnaire requis le paramètre 2 du géotraitement
#prendre le premier élément de la liste Imputfilter (1997),
#finir la boucle par processing.run,
#puis le deuxième (1998) et ainsi de suite
P2 = dict(INPUT = Imputfilter[h],
RADIUS = 200000, RADIUS_FIELD = '',
PIXEL_SIZE = 10000,
WEIGHT_FIELD = 'FATALITIES',
KERNEL = 0,
DECAY = 0,
OUTPUT_VALUE = 1,
OUTPUT = Outputtif[h])
processing.run(P1,P2) #lancer le géotraitement