Attribut PyQgis
ProMed1
Messages postés
33
Statut
Membre
-
ProMed1 Messages postés 33 Statut Membre -
ProMed1 Messages postés 33 Statut Membre -
bonjour à tous,
Sur Qgis, j'aimerais créer un script pour une tache qui se répète.
En fait le but est de charger la couche, créer des nouveaux champs et les remplirait :).
Pour la couche "P_Teste.shp":
le champ 'P_T1' doit être remplie par les enregistrements du champ existant 'CCC'.
le champ 'P_T2' doit être remplie par la chaine de caractère suivant : "P123456".
le champ 'P_T3' doit être remplie par la chaine de caractère suivant : "Q123456".
voici le code pour créer les champs qui fonctionne correctement:
Sur le net j'ai essayer de trouver un code qui peut faire la mise à jour des champs.
j'ai ceci: (mais je n'arrive pas a l'adapté a mon besoin car je suis débutant sur ce truque).
Pour la couche "L_Teste.shp":
C'est les même procédure a suive.
Merci d’avance.
Sur Qgis, j'aimerais créer un script pour une tache qui se répète.
En fait le but est de charger la couche, créer des nouveaux champs et les remplirait :).
Pour la couche "P_Teste.shp":
- créer les champs : 'P_T1', 'P_T2' et 'P_T3'
le champ 'P_T1' doit être remplie par les enregistrements du champ existant 'CCC'.
le champ 'P_T2' doit être remplie par la chaine de caractère suivant : "P123456".
le champ 'P_T3' doit être remplie par la chaine de caractère suivant : "Q123456".
voici le code pour créer les champs qui fonctionne correctement:
CH1= 'D:/Python Qgis/CCM/P/P_Teste.shp'
CH2= 'D:/Python Qgis/CCM/L/L_Teste.shp'
couche = iface.addVectorLayer(CH1, '', 'ogr')
maj = couche.dataProvider()
maj.addAttributes([QgsField('P_T1', QVariant.String), \
QgsField('P_T2', QVariant.String), QgsField('P_T3', QVariant.String)])
couche.updateFields()
couche2 = iface.addVectorLayer(CH2, '', 'ogr')
maj2 = couche2.dataProvider()
maj2.addAttributes([QgsField('L_T1', QVariant.String), \
QgsField('L_T2', QVariant.String), QgsField('L_T3', QVariant.String)])
couche2.updateFields()
Sur le net j'ai essayer de trouver un code qui peut faire la mise à jour des champs.
j'ai ceci: (mais je n'arrive pas a l'adapté a mon besoin car je suis débutant sur ce truque).
with edit(vl):
vl.addAttribute(QgsField(my_field_name, QVariant.String))
vl.updateFields()
for f in vl.getFeatures():
f[my_field_name] = my_field_value
vl.updateFeature(f)
Pour la couche "L_Teste.shp":
C'est les même procédure a suive.
Merci d’avance.
A voir également:
- Attribut PyQgis
- Attribut changer - Télécharger - Divers Utilitaires
- Associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Java
- Dans son restaurant, igor utilise une application pour gérer les réservations. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « reservations » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. ✓ - Forum Logiciels
- Dans son restaurant, igor utilise une application pour gérer les réservations. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « clients » est-il le nom ? de quoi « date » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. ✓ - Forum C
- Changer l'attribut "required" ✓ - Forum Javascript
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, merci de préciser le langage quand tu utilises les balises de code. explications: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
es-tu certain d'avoir partagé l'ensemble de ton code?
es-tu certain d'avoir partagé l'ensemble de ton code?
ok bien reçu, merci pour l'explication.
si besoin voici le lien du prpjet Shp:
https://wetransfer.com/downloads/dce9d927413a2c209d79cf19044732f720210411202523/e72f95
en vous remercions d'avance.
Pouvez vous amélioré le code svp.
avez vous une idée pour améliorer et adapté les instructions d'éditions attribut.
merci.