#1 Thu 11 July 2019 15:32
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
QGIS: Simplification d'un programme Python
Bonjour
J'ai réalisé un programme python qui exécute certaine tache et pas d'autre suivant ce que rentre l'utilisateur. C'est a dire que si l'utilisateur coche une case alors le programme s’exécutera et si il ne la coche pas alors le programme ne s’exécutera pas. L'utilisateur a ainsi le choix de 5 paramètre différent qu'il peut faire fonctionné ou non.
Pour réaliser ceci j'ai due insérer dans le programme python tout les choix possible de sélection des attribut ce qui donne a la fin un programme très très long. Et je sais que c'est possible de simplifier le programme sans énumérer toutes les possibilité que l'utilisateurs peut faire. Après de nombreuse tentative j'ai abandonné. Est ce que quelqu'un sait comment on pourrait simplifié ce programme??
Je met le programme en pièce joint pour ceux qui peuvent le comprendre.
Je précise que je suis sous QGIS version 2.16.3
je vous remercie de votre aide.
Cordialement
BadWolf
Dernière modification par BadWolf (Thu 11 July 2019 15:33)
Hors ligne
#2 Mon 15 July 2019 12:10
Re: QGIS: Simplification d'un programme Python
Bonjour,
En effet, il y a pas mal de choses qui me semblent pouvoir être automatisées et simplifiées.
A titre d'exemple, voici comment récupérer la liste des noms de variables en python dans QGIS 3.*
Code:
layer = QgsProject.instance().mapLayersByName('point')[0] pr = layer.dataProvider() flds = pr.fields() fld_names = [fld.displayName() for fld in flds] for fld_name in fld_names: print(fld_name)
geodata au cerema et petits billets en géomatique
Hors ligne