Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 30 April 2021 07:28

nico-29
Participant assidu
Lieu: Brest
Date d'inscription: 2 Jun 2006
Messages: 185

QGIS 3: pyqgis symbol au centroid d'un polygone

Bonjour,

Je cherche à afficher un symbole svg au centroide d'un polygone, via pyqgis.
Voici mon code:

Code:

symbol = QgsSymbol.defaultSymbol(self.layer.geometryType())
        svgStyle = {'name': path/to/symbol/TOWERS02.svg', 'size': '4'}
        symbol_layer = QgsCentroidFillSymbolLayer.create(svgStyle)
        
        if symbol_layer is not None:
            symbol.changeSymbolLayer(0, symbol_layer)

        renderer = QgsSingleSymbolRenderer(symbol)
        if renderer is not None:
            self.layer.setRenderer(renderer)

        iface.layerTreeView().refreshLayerSymbology( self.layer.id() )
        self.layer.triggerRepaint()

Le symbole ne s'affiche pas, mais j'ai un point rouge qui s'affiche au centroide du polygone (symbole par défaut je suppose).
Le chemin vers le symbole existe bien.

Comment faire?

Merci, Nico

Hors ligne

 

Pied de page des forums

Powered by FluxBB