#1 Sat 05 July 2014 11:53
- B.Abdelmalek
- Participant occasionnel
- Date d'inscription: 24 Apr 2014
- Messages: 29
QGIS 2.2 : Edition table postgresql via plugin
Bonjour tout le monde;
J'ai une table attributaire d'une couche de polygones stockées dans PostgresSQL/PostGis que j'aimerai éditer (modification des données) à partir d'un plugin que je suis entrain de développer sous QGIS 2.2. l'idée est qu'un utilisateur client remplis le formulaire sous QGIS (image en fichier joint) et que le plugin permettra de copier les informations saisies dans les champs adéquats de la table sachant que chaque saisie concerne un seul enregistrement, cet enregistrement est identifié par la valeur de la 1ere case du formulaire.
J'ai testé ça:
values = [ liste des valeurs]
layer.startEditing()
feat.setAttributes(values)
layer.commitChanges()
layer.updateFields()
Mais ça marche pas et ne renvoi aucune erreur!
Des pistes SVP, merci d'avance
Hors ligne
#2 Sun 06 July 2014 20:10
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3920
Re: QGIS 2.2 : Edition table postgresql via plugin
Bonjour,
Je ne sais pas si pour ce que tu veux faire, il y a besoin de créer un plugin particulier.
QGIS lit et écrit directement dans des tables PostgreSQL/PostGIS. Il suffit deles ajouter dans le projetsoit via le menu couche, soit via le menu BD et d'avoir les droits de modif.
De même, dans le menu Champ de toute couche vecteur, tu peux disposer selon ton bon vouloir les champs et les renommer (en affichage pour l'utilisateur) comme tu veux.
Regarde donc s'il n'y a pas déjà tout ce que tu veux là...
Hors ligne
#3 Mon 07 July 2014 12:04
- B.Abdelmalek
- Participant occasionnel
- Date d'inscription: 24 Apr 2014
- Messages: 29
Re: QGIS 2.2 : Edition table postgresql via plugin
Bonjour;
Merci SANTANNA pour votre réponse.
En fait, j'aimerai créer un plugin particulier parce que pour un utilisateur non familiarisé aux SIG, et pour un usage quotidien, c'est plus pratique et plus ergonomique de remplir un formulaire plutôt que manipuler des couches directement.
Hors ligne
#4 Sat 12 July 2014 13:49
- B.Abdelmalek
- Participant occasionnel
- Date d'inscription: 24 Apr 2014
- Messages: 29
Re: QGIS 2.2 : Edition table postgresql via plugin
Bonjour;
Je répond à ma question:
L'instruction clé pour cette tâche est la suivante: layer.changeAttributeValue(fid, field, value) où:
fid est l'id du feature a éditer,
field est le numéro de la colonne dans la table (a compter à partir de 0)
value est la valeur a attribuer.
Hors ligne