Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nouveau plugin de tâche QGIS Print Layout / Atlas (Python) #278

Open
yblatti opened this issue Feb 16, 2023 · 1 comment
Open

Nouveau plugin de tâche QGIS Print Layout / Atlas (Python) #278

yblatti opened this issue Feb 16, 2023 · 1 comment
Labels
enhancement New feature or request stand-by We know this is interesting... but not for now

Comments

@yblatti
Copy link
Contributor

yblatti commented Feb 16, 2023

Objectifs

  • Créer un nouveau plugin de tâche permettant d'exécuter des scripts Python avec QGIS (PyQGIS)
  • Créer un script Python permettant d'imprimer un atlas QGIS en PDF en utilisant Print Layout.

Plugin de tâche

Structure

Nom : Extraction QGIS

Champ Type
Chemin du script Python Chaîne

Aide :

Le plugin d'extraction QGIS permet d'exécuter un script avec QGIS Desktop.

[...]

La suite de l'aide (tableau des paramètres et infos) doit être la même que pour le plugin de tâche "Extraction FME".

Les mêmes paramètres doivent être passés au script.

Script d'impression PDF

Le script utilisera les paramètres reçus par Extract, tels que FolderOut ou Perimeter pour fonctionner correctement.

D'autres paramètres devront être spécifiés manuellement par l'utilisateur :

Nom du paramètre Type
Chemin du fichier QGIS Chaîne
Nom du modèle de Print Layout Texte
Nom du Coverage Layer Texte

Étapes du script

  1. Ouvrir le projet QGIS
  2. Charger le modèle de Print Layout
  3. Récupérer l'objet Atlas du Print Layout
  4. Définir l'emprise géographique pour l'Atlas (piste : utiliser les filtres et la propriété intersects avec le Perimeter reçu)
  5. Exporter chaque page de l'Atlas qui intersecte le Perimeter dans un PDF, et le stocker dans le répertoire FolderOut
  6. Fermer le projet QGIS

Questions ouvertes ?

  • Comment gérer les variables d'environnement pour le chargement de PyQGIS ?
  • Est qu'on doit passer les Perimeters au script par un fichier intermédiaire (wkt, geojson, ...) ?

Divers

  • Un projet QGIS d'exemple avec un Atlas sera fourni.

Critères d'acceptation

Identifiant Description
278-1 Le nouveau plugin de tâche doit être fonctionnel et capable d'exécuter des scripts Python avec QGIS Desktop
278-2 Le plugin doit inclure une aide pour l'utilisateur, similaire à celle du plugin "Extraction FME".
278-3 Le script d'impression PDF doit être compatible avec QGIS > 3.28
278-4 Le script doit pouvoir utiliser les paramètres reçus depuis Extract, tels que FolderOut ou Perimeter.
278-5 Les paramètres à spécifier par l'utilisateur dans le script doivent être mis en évidence
278-6 Le fichier PDF en sortie doit correspondre précisément à la commande reçue

Message original :
Nouveau plugin de tâches, dont l'objectif est de pouvoir imprimer des projets QGIS.

Pistes :

  • Utiliser des templates de plot dynamiques
  • Utiliser l'Atlas
@yblatti yblatti added the enhancement New feature or request label Feb 16, 2023
@guillaumestark guillaumestark changed the title Nouveau plugin de tâche QGIS Print Composer / Atlas Nouveau plugin de tâche QGIS Print Layout / Atlas Mar 23, 2023
@ponceta
Copy link

ponceta commented Apr 3, 2023

A titre d'information, voici un exemple de script (Sous licence GPL - QGIS ) établi il y a quelques années pour générer des rapports à l'aide de QGIS 3 et de l'Atlas :

https://gist.github.com/ponceta/78a216da4d1f44248374f2832ca62bb8

./generate_report.py /chemin/du/projet.qgz nom_du_layout /chemin/du/rapport.pdf

Attention, il faut vérifier que les variables d'environnement QGIS_PREFIX_PATH et PYTHONPATH soit correctement positionnées sur l'installation de votre QGIS.

La syntaxe a probablement évolué depuis.

@guillaumestark guillaumestark added this to the v2.1 milestone May 4, 2023
@guillaumestark guillaumestark changed the title Nouveau plugin de tâche QGIS Print Layout / Atlas Nouveau plugin de tâche QGIS Print Layout / Atlas (Python) Jun 6, 2023
@yblatti yblatti removed this from the v2.1 milestone Mar 12, 2024
@yblatti yblatti added the stand-by We know this is interesting... but not for now label Mar 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request stand-by We know this is interesting... but not for now
Projects
None yet
Development

No branches or pull requests

3 participants