banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Wed 05 October 2022 16:15

Vikema
Juste Inscrit !
Date d'inscription: 21 Sep 2022
Messages: 2

QGIS: Probl Integration des Layers au rendu final

Bonjour,

Mon problème est plutôt simple. Je n'arrive pas à faire apparaitre les couches dans mon layout que j'extrais ensuite en PNG.

Code:

        

        nom_couche=iface.addVectorLayer(uri,nom,'postgres') #j'ai mis juste un exemple pour que vous voyez comment il est intégrer au projet

        layout=QgsPrintLayout(project)
        layout.initializeDefaults()

        carte = QgsLayoutItemMap(layout)
        carte.setLayers(project.mapLayersByName('nom_couche'))

        carte.attemptMove(QgsLayoutPoint(0,0, QgsUnitTypes.LayoutMillimeters))
        carte.attemptResize(QgsLayoutSize(int(largeur_feuille), int(hauteur_feuille), QgsUnitTypes.LayoutMillimeters))

        carte.setKeepLayerSet(True)

        layout.addLayoutItem(carte)

        exporter=QgsLayoutExporter(layout)

        img_path = dossier_sauvegarde + "\\" + nom_couche + ".png"
        exporter.exportToImage(img_path,QgsLayoutExporter.ImageExportSettings())

Le layer nom_couche est un Vector layer qui appertient au projet. Il a été générer avec un traitement SQL. Je ne comprend donc pas pourquoi la couche n'apparait pas sr le rendu final qui est extrait.

Lorsque je génère une 2eme fois mon projet, les couches se mettent par défaut dans le layout(grâce à la génération du projet au 1er appel) comme si mon setLayers était vide. Donc soit je ne sélectionne pas les bonnes données. Et alors je ne comprend pas ce qu'il faut sélectionner. Soit j'ai une erreur dansmon code...

Merci par avance pour votre aide.
V-E

Hors ligne

 

Pied de page des forums

Powered by FluxBB