Message posté par : Florian Boret
----------------------------------------
Bonjour à tous,
J'utilise un script python en ligne de commande pour exécuter des exports de carte.
Celui-ci fonctionne parfaitement toutefois j'ai un petit souci car mon projet utilise
le plugin refFunctions qui n'est pas pris en compte.
Est-ce que vous avez une idée de comment charger et activer un plugin QGIS directement
depuis un script python?
Mon code actuel
-----------------
Code :
import sys
import os
os.environ['QT_QPA_PLATFORM']='offscreen'
from qgis.core import QgsApplication, QgsProject, QgsLayoutExporter,
QgsLayoutRenderContext, QgsSettings
from qgis.utils import iface, loadPlugin, startPlugin, plugins
def export_atlas(qgs_project_path, layout_name, outputs_folder):
# Open existing project
project = QgsProject.instance()
project.read(qgs_project_path)
print('Project in ' + project.fileName() + ' loaded successfully')
# Open prepared layout that as atlas enabled and set
layout = project.layoutManager().layoutByName(layout_name)
myAtlas = layout.atlas()
myAtlasMap = myAtlas.layout()
# Export atlas
exporter = QgsLayoutExporter(layout)
image_settings = QgsLayoutExporter(myAtlasMap).ImageExportSettings()
image_settings.dpi = 300
image_settings.generateWorldFile = 1
context = QgsLayoutRenderContext(layout)
context.setFlag(context.FlagAntialiasing, True)
image_settings.flags = context.flags()
exporter.exportToImage(myAtlas,outputs_folder, 'tiff', image_settings)
def main():
# Start a QGIS application without GUI
qgs = QgsApplication([], False)
qgs.initQgis()
project_path = '/home/PROJET.qgs'
output_folder = '/home/export/'
layout_name = 'ATLAS'
print('Starter atlas export')
export_atlas(project_path, layout_name, output_folder)
# Close the QGIS application
qgs.exitQgis()
if __name__ == "__main__":
main()
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=331449#p331449
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net