Générer un rapport automatique avec QGIS et Data Plotly : intégrer des graphiques dans un atlas PDF


Après avoir vu comment créer et exporter une série de graphiques avec Data Plotly, passons à l’étape suivante : intégrer ces graphiques dans un atlas QGIS ou un rapport automatisé. Cette méthode permet de produire des rapports PDF personnalisés ou des fiches thématiques, une par plage, commune, site ou entité.



Objectif

  • Créer un rapport PDF dynamique par entité (ex. : une fiche par plage) ;
  • Insérer les graphiques générés avec Data Plotly dans chaque page de l’atlas ;
  • Utiliser les fonctions d’Atlas de QGIS et un peu d’automatisation.


Exemple de cas d’usage

Vous disposez d’une couche releves_dechets et d’une couche plages (ou communes). Vous souhaitez créer un rapport par plage contenant :

  • Le nom de la plage
  • Une carte zoomée sur la zone
  • Un graphique PNG représentant les déchets collectés (créé avec Data Plotly)
  • Quelques statistiques dynamiques (somme, moyenne…)


Étape 1 : préparer les graphiques par plage

Reprenez le script Python vu précédemment pour générer une image PNG par plage :
graph_Anse_Mourouk.png, graph_Pointe_Coton.png, etc.

Assurez-vous que le nom de l’image correspond exactement à la valeur du champ plage dans la couche principale.


Étape 2 : créer la mise en page dans le Composeur de mise en page

  1. Allez dans Projet > Mise en page > Nouvelle mise en page
  2. Ajoutez :

    • Un cadre carte (lié à la couche de plages)
    • Un champ texte dynamique (ex. : [% "plage" %])
    • Un cadre d’image : cliquez sur l’icône « Ajouter une image »

  3. Activez l’Atlas :

    • Objet de couverture = la couche (ex. plages)
    • Tri (optionnel) : tu peux choisir un champ pour l’ordre des pages (ex. nom)
    • Filtrer les entités avec une expression (optionnel)
    • Zoom automatique sur l’entité

  4. Cliquez sur ta carte principale dans la mise en page (la carte à centrer automatiquement)
  5. Dans le panneau Propriétés de l’objet, section Attributs de l’Atlas, cochez :

    • Contrôlé par l’atlas
    • Ajuster à l’entité


Étape 3 : insérer dynamiquement les graphiques PNG

Dans le cadre d’image, cochez “Chemin de l’image à partir de données”
Puis entrez une expression comme :

'file:///C:/temp/export_graphiques/graph_' || "plage" || '.png'

Cela affichera automatiquement l’image correspondant à chaque entité.

Astuce : vous pouvez utiliser replace("plage", ' ', '_') si les noms de fichiers n’ont pas d’espaces.


Étape 4 : exporter l’atlas

  • Cliquez sur “Exporter Atlas en PDF” ;
  • Choisissez un dossier de sortie ;
  • Chaque page contiendra : la carte, le nom de la plage, le graphique, et les infos associées.


Bonus : ajouter des statistiques dynamiques

Ajoutez des champs texte avec des expressions QGIS comme :

aggregate('releves_dechets', 'sum', "quantite", filter := "plage" = attribute(@atlas_feature, 'plage'))

Cela permet d’avoir des totaux ou moyennes automatiques pour chaque fiche.


En résumé

Étape Fonction
Génération de graphiques Avec Data Plotly + Python
Mise en page personnalisée Composeur QGIS
Insertion automatique Champs dynamiques + chemin vers PNG
Export PDF multi-pages Fonction Atlas


Idées de cas d’usage

  • Fiches d’observation par commune (faune, flore, déchets)
  • Rapports environnementaux par site
  • Cartes + graphiques de recensement
  • Suivi de chantiers ou de projets


À venir…

Dans le prochain article, nous irons plus loin en montrant comment créer un tableau de bord dynamique dans QGIS lui-même, sans quitter l’environnement SIG : combiner Data Plotly, expressions, widgets et panneaux pour construire une interface d’analyse temps réel.


Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *