Pages: 1
- Sujet précédent - QGIS: PyQGis Symbology 'rule based' adaptation du style a la selection - Sujet suivant
#1 Wed 21 May 2025 13:16
- Larpenteur
- Participant assidu
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 150
QGIS: PyQGis Symbology 'rule based' adaptation du style a la selection
Bonjour,
J'ai un script Python maison qui travaille notamment sur le croisement de donnée (intersection) dans QGIS.
Mon objet cible A va croiser un objet B (exemple couche PLU) et il le résultat de ma requête est censé récupérer la symbologie de mon objet B.
Mais je rencontre une erreur Python de type: AttributeError: ‘NoneType’ object has no attribute ‘type’
Ma couche B à une symbologie 'Rule Based' quand j'obtiens cette erreur.
Si je modifie l'ensemble de règle pour une symbologie unique ma requête se termine, la portion de code qui pose problème est à la ligne 1809:
1807 #Modification éventuelle du Style (adaptation aux enregistrements restant dans la Sélection)
1808 lRenderer = lDonImpLay.renderer()
1809 lRdrType = lRenderer.type()
1810 if lRdrType == 'categorizedSymbol':
1811 StyleCategorise_Adaptation(lDonImpLay, lRenderer)
1812 elif lRdrType == 'RuleRenderer':
1813 StyleRegles_Adaptation(lDonImpLay, lRenderer)
1814 #Complément au style - Transparence
1815# lDonImpLay.setLayerTransparency(50)
1816 #Mise en forme du Noeud de couche (à faire après le traitement du style)
Si vous avez une piste je suis preneur!
Merci, Sylvain
Hors ligne
#2 Thu 22 May 2025 12:04
- aude_halim
- Juste Inscrit !
- Lieu: Vitry-sur-Seine (94)
- Date d'inscription: 24 Jan 2011
- Messages: 5
Re: QGIS: PyQGis Symbology 'rule based' adaptation du style a la selection
Bonjour,
Je n'ai pas l'habitude de ces bibliothéques, mais je dirais que si vous avez cette erreur à la ligne 1809, c'est que la méthode .renderer() de la ligne 1808 renvoi NoneType au lieu d'un objet "QgsFeatureRenderer".
Il faudrait pouvoir voir l'objet qu'il y a dans la variable "lDonImpLay" à mon avis.
Après effecitvement, c'est étonnant que votre code fonctionne sur une couche à symbologie unique mais pas lorsque la symbologie est basée sur des Régles.
Est-ce que si vous utilisez une symbologie catégorisée vous obtennez également une erreur à cdette ligne ou non?
Hors ligne
#3 Fri 23 May 2025 08:32
- Larpenteur
- Participant assidu
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 150
Re: QGIS: PyQGis Symbology 'rule based' adaptation du style a la selection
Bonjour Aude,
Merci pour votre retour
En effet j'ai oublié de précisé:
Sur cette même couche B si je fais une analyse "Catégorisée" sur le même champ utilisé pour l'analyse "Ensemble de règles " ça fonctionne...
Sylvain
Hors ligne
#4 Fri 23 May 2025 13:51
- Larpenteur
- Participant assidu
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 150
Re: QGIS: PyQGis Symbology 'rule based' adaptation du style a la selection
Je continue les investigations.
En fait je pense que ce n'est pas forcément cette partie du code qui pose problème.
Dans ce projet QGS j'ai de multiples données (Shapefile), toutes ces couches n'ont pas de filtres.
Si je mets un filtre sur une donnée j'obtiens l'erreur citée en début de post:
AttributeError: ‘NoneType’ object has no attribute ‘type’
La piste serait peut être d'intégrer une partie de code dans le script permettant de requêter sur des données filtrées?!
Sylvain
Hors ligne
Pages: 1
- Sujet précédent - QGIS: PyQGis Symbology 'rule based' adaptation du style a la selection - Sujet suivant