Le plugin d'extraction QGIS Server permet d'imprimer des Atlas au format PDF.
TODO !!!!
[...]
Appels à QGIS Server pour l'impression PDF
Note : les valeurs d'exemple de configuration (ci-dessus) ont été utilisées dans les appels (ci-dessous)
1. Obtenir le détail des layouts, pour récupérer la couche de 'Coverage' (features qui pilotent la zone l'impression) [WMS GET] :
GetProjectSettings : GET https://monserveur.lan/qgis-server?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetProjectSettings&MAP=/etc/qgis-server/maps/world/world.qgs
On devra en extraire le coverage layer pour le template (pseudo xpath ci dessous)
/WMS_Capabilities/Capability/ComposerTemplates/ComposerTemplate[@name='myplan']/@atlasCoverageLayer
2. Lister les features dans le périmètre de requête [WFS POST]
GetFeature : POST https://monserveur.lan/qgis-server?MAP=/etc/qgis-server/maps/world/world.qgs
body :
Objectif
Créer un nouveau plugin de tâche permettant d'imprimer des Atlas QGIS en PDF en utilisant Print Layout.
Principe de fonctionnement
Un Atlas QGIS permet de prédéfinir des zones d'impression, qui seront utilisées par une Mise en page (print layout / print template) pour impression.
Ce plugin va utiliser l'API QGIS Server (WMS + WFS) pour lancer l'impression de l'atlas sur la le périmètre de requête.
Configuration
Aide :
Appels à QGIS Server pour l'impression PDF
Note : les valeurs d'exemple de configuration (ci-dessus) ont été utilisées dans les appels (ci-dessous)
1. Obtenir le détail des layouts, pour récupérer la couche de 'Coverage' (features qui pilotent la zone l'impression) [WMS GET] :
GetProjectSettings :
GET https://monserveur.lan/qgis-server?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetProjectSettings&MAP=/etc/qgis-server/maps/world/world.qgs
On devra en extraire le coverage layer pour le template (pseudo xpath ci dessous)
/WMS_Capabilities/Capability/ComposerTemplates/ComposerTemplate[@name='myplan']/@atlasCoverageLayer
2. Lister les features dans le périmètre de requête [WFS POST]
GetFeature :
POST https://monserveur.lan/qgis-server?MAP=/etc/qgis-server/maps/world/world.qgs
body :Extraire les IDs des features (pseudo xpath ci dessous):
/wfs:FeatureCollection/gml:featureMember/qgs:MY_COVERAGE_LAYER/@gml:id
3. Imprimer l'Atlas avec les IDs reçus précédemment [WMS GET] :
GetPrint :
https://monserveur.lan/qgis-server?SERVICE=WMS&REQUEST=GetPrint&CRS=EPSG:4326&TEMPLATE=myplan&FORMAT=pdf&MAP=/etc/qgis-server/maps/world/world.qgs&LAYERS=cadastre,wastewater,water&ATLAS_PK=193,192
Notes :
Si 'Couches à imprimer' non renseigné en config, ne pas passer le paramètre LAYERS dans l’appel WMS
Divers
Un projet QGIS d'exemple avec un Atlas sera fourni.
Critères d'acceptation