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

Printemps des cartes 2024

#1 Sun 10 February 2013 21:42

Ludo04
Juste Inscrit !
Date d'inscription: 10 Feb 2013
Messages: 4

QGIS: Remplissage automatique de champs

Bonjour,
Cela fait quelques heures que je cherche une réponse sans succès.
Dans QGis, lorsque je créé un objet sur une couche vecteur, je souhaite qu'un des champs soit rempli automatiquement en fonction de l'attribut de l'objet correspondant sur une autre couche. Plus simplement, j'ai une couche polygones avec les communes et je souhaite que le nom de la commune soit automatiquement saisi dans le champ commune d'une autre couche de points. J'ai cherché du côté de l'onglet Joins ou Jointure mais ça ne donne pas ça (a moins que je ne l'utilise mal...).
Merci de votre aide.

Hors ligne

 

#2 Sat 16 February 2013 11:27

Squid
Participant actif
Date d'inscription: 2 Apr 2010
Messages: 109

Re: QGIS: Remplissage automatique de champs

Hors ligne

 

#3 Fri 01 March 2013 15:17

Ludo04
Juste Inscrit !
Date d'inscription: 10 Feb 2013
Messages: 4

Re: QGIS: Remplissage automatique de champs

Merci Mihaël,

Cependant cela ne correspond pas à mon besoin me semble t'il.
Peut être me suis-je mal exprimé, je souhaite que lorsque je créer un point sur une zone recouverte par un polygone (commune), le champ "commune" de la couche de points s'incrémente automatiquement avec le champ "nom_commune" de la couche "commune".
J'ai testé la Jointure mais cela ne me donne pas la même chose, si je lie mes deux couches par le champ "commune", tous les autres attributs sont associés à la première couche. Je pense que c'est utilisable à posteriori mais pas lors de la création de la couche.
Donc, deux solutions: soit je suis un boulet (fort possible! ;-)), soit ça ne correspond pas à ce que je veux faire.

Merci

Hors ligne

 

#4 Fri 01 March 2013 16:11

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1220
Site web

Re: QGIS: Remplissage automatique de champs

Bonjour,

ce que vous cherchez correspond à ce qu'on peut faire avec une base de données en créant un trigger.
Par exemple, j'ai une table d'observation ponctuelles d'espèces, je veux que le champ "commune" de cette table soit renseigné automatiquement par interrogation de ma table commune, lors de la création de mon observation.

A ma connaissance, sauf à programmer la chose, on ne peut pas faire cela avec un SIG "fichier".

Par contre, si vous stockez vos données dans une base PostGIS ou SpatiaLite c'est possible.


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#5 Fri 01 March 2013 18:06

Ludo04
Juste Inscrit !
Date d'inscription: 10 Feb 2013
Messages: 4

Re: QGIS: Remplissage automatique de champs

Merci Mathieu,

C'est tout à fait ce que je souhaite faire. Malheureusement,  je n'utilise pour le moment que des couches shp dans qgis, je ne me suis pas encore penché sur postgis, je ne sais même pas à quoi ça  sert pour tout vous dire et encore moins comment ça fonctionne. Mais je vais m'y intéresser.

Bonne continuation.

Merci encore.

Hors ligne

 

#6 Thu 27 February 2020 09:49

bro24
Juste Inscrit !
Date d'inscription: 9 Nov 2018
Messages: 6

Re: QGIS: Remplissage automatique de champs

Bonjour,

J'aurai le même besoin que ludo04. Auriez vous des pistes pour se former à la création de BdD PostGIS ou Spatialite ?

Merci d'avance,
Alexandre

Hors ligne

 

#7 Thu 27 February 2020 10:25

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 995

Re: QGIS: Remplissage automatique de champs

A tester :

[% aggregate( 'commune','concatenate',"nom_commune",contains( $geometry, @map_extent_center),', ')%]

Hors ligne

 

#8 Sat 29 February 2020 22:56

Julien81
Participant actif
Lieu: Giroussens
Date d'inscription: 14 Jan 2019
Messages: 148

Re: QGIS: Remplissage automatique de champs

Si vous adaptez la formule de GlaDal et que vous l'utilisez en valeur par défaut pour le champ de votre couche à éditer via l'édition du formulaire, vous devriez arriver à vos fins .
Je fais ainsi sur QGIS 3.4 pour recupérer les codes insee depuis mes communes, sur les couches métiers en édition/création, ainsi avec la jointure qui me lie les autres infos de façon dynamique, en créant des nouvelles entités ou en mettant à jour les géom/attributs il ré-extrait le bon code.
Chez moi : [% aggregate( 'COMMUNE','concatenate',"INSEE_COM",max(intersection($geometry, geometry(@parent))))%]
coté couche mon champ code_insee est visible mais non éditable, avec cette formule en valeur par défaut (en cochant appliquer lors de l'édition)

Hors ligne

 

#9 Mon 23 March 2020 13:49

Auxane52
Juste Inscrit !
Date d'inscription: 23 Mar 2020
Messages: 1

Re: QGIS: Remplissage automatique de champs

Bonjour Julien81,

ce que vous décrivez dans votre dernier message correspond exactement à ce que je souhaiterai faire mais malheureusement ça ne fonctionne pas de mon côté. Voici ce que je renseigne dans le champ valeur par défaut (calculateur d'expression):

aggregate( 'TABLES_RESEAU_CHALEUR_COMMUNES_GEOM_4ec19f38_e8ee_4517_9f52_331bfc55e1cd','concatenate',"INSEE_COM",max(intersection($geometry, geometry(@parent))))

Avec :

TABLES_RESEAU_CHALEUR_COMMUNES_GEOM_4ec19f38_e8ee_4517_9f52_331bfc55e1cd = couche DES COMMUNES (dans un Geopackage)
INSEE_COM = Champ contenant les codes INSEE 

Côté table des commune le champ INSEE_COM est en QString (200) et côté tables à mettre à jour, le champ INSEE est en QString (5) est-ce-que cela peut contribuer au dysfonctionnement ?

Dans votre post il y a en début et fin d'expression [% & %] or si je les laisse, QGIS me retourne une expression invalide.

Merci !

Hors ligne

 

#10 Mon 23 March 2020 20:00

Julien81
Participant actif
Lieu: Giroussens
Date d'inscription: 14 Jan 2019
Messages: 148

Re: QGIS: Remplissage automatique de champs

Bonjour,

en me relisant je note une erreur, d'une part oui il ne faut pas reporter les [%%], mais il manque un area(), parce que le max d'une géométrie il connait pas^^ apparemment
Donc avec : aggregate( 'COMMUNE','concatenate',"INSEE_COM",max(area(intersection($geometry, geometry(@parent)))))
que se soit en valeur par défaut lors de mise à jours attributaires ou création de géom dans la couche, ou bien en mise à jour du champ via la calculatrice d'expression.
De plus ce n'est valide qu'à partir QGIS 3.10 si je ne m'abuse!

Salutations

Hors ligne

 

#11 Mon 15 June 2020 11:09

ljrox
Participant occasionnel
Date d'inscription: 21 Aug 2014
Messages: 15

Re: QGIS: Remplissage automatique de champs

Julien81 a écrit:

Bonjour,

en me relisant je note une erreur, d'une part oui il ne faut pas reporter les [%%], mais il manque un area(), parce que le max d'une géométrie il connait pas^^ apparemment
Donc avec : aggregate( 'COMMUNE','concatenate',"INSEE_COM",max(area(intersection($geometry, geometry(@parent)))))
que se soit en valeur par défaut lors de mise à jours attributaires ou création de géom dans la couche, ou bien en mise à jour du champ via la calculatrice d'expression.
De plus ce n'est valide qu'à partir QGIS 3.10 si je ne m'abuse!

Salutations


Bonjour,

Pour ma part, j'ai une couche "pei" de type points et une couche "commune" de type polygones contenant des informations comme le nom, le code postal, le code insee, etc. Mon souhait était qu'en ajoutant un point "pei" sur une commune précise, le point récupère dans un champs dédié le code insee de cette commune.

J'ai donc testé la formule de Julien81 

Code:

aggregate( 'commune','concatenate',"insee_com",max(area(intersection($geometry, geometry(@parent)))))

Malheureusement cela n'a pas fonctionné.

J'ai réussi à la faire fonctionner en la modifiant comme cela :

Code:

aggregate('commune' ,'concatenate', "code_insee", intersects( $geometry, geometry(@parent)))

En espérant que cela puisse aider. (Et merci à GlaDal et Julien81)

Bonne journée à tous.

Dernière modification par ljrox (Mon 15 June 2020 11:18)

Hors ligne

 

#12 Tue 22 June 2021 14:44

Nico_E3D_Comergy
Juste Inscrit !
Date d'inscription: 12 Feb 2021
Messages: 1

Re: QGIS: Remplissage automatique de champs

Bonjour à tous,

Débutant sous Qgis je me forme tout seul grâce notamment à ce forum et à vous donc merci car j'apprends beaucoup!
Il y a quelque chose que je n'arrive pas à faire (pour un remplissage de champ automatique)alors que je pense que ça ne me semble pas hyper compliqué mais je me perds encore dans "l'organisation des expressions".
J'ai un champ qui se rempli automatiquement selon un nommage (BT dans l'exemple joint) mais pas pour certains nommages (FA dans l'exemple joint).

Pour essayer d'être plus clair:
- si mon champ "Nom" = 'BT2963' => mon champ "Classe" se rempli automatiquement grâce à d'autres champs.
- si mon champ "Nom" = 'FA2487' => mon champ "Classe" ne se rempli automatiquement grâce à d'autres champs. Je pensais faire une expression si dans le champ nom les 2 premières lettres commencent par 'FA' alors le champ "Classe" = 'FA' (avec l'expression left par exemple) mais je n'y arrive pas ... est-ce que quelqu'un pourrait m'aider s'il vous plaît?

Cordialement, Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB