#1 Thu 31 March 2022 14:01
- raphaelt
- Juste Inscrit !
- Date d'inscription: 30 Mar 2022
- Messages: 1
QGIS: Probl de gestion d'un tableau Excel
Bonjour à tous,
J'aurais une question moitié technique moitié logique. Et je m'excuse d'avance je n'ai pas forcément tout le vocabulaire technique.
Dans le cadre de la gestion d'un cimetière, je dois faire apparaitre les données d'un tableau excel comme attributs d'entité géométrique. Dans ce tableau excel j'ai divers infos sur les morts et entre autre le secteur et le numéro de la tombe ou ils sont enterrés.
J'ai donc importer le dit tableau excel, créé un champ virtuel regroupant le secteur et numéro de tombe (pour avoir un ID unique à chacun), donné à mes entités géométriques un ID en relation avec celui créé et enfin j'ai fait une jointure entre ma couche et mon tableau.
Le résultat est plutôt satisfaisant mais voici le problème.
Il arrive que plusieurs personnes soient enterrés dans la même tombe et ils ont donc, dans mon tableau excel, le même secteur et numéro de tombe (et donc le même ID).
Je voudrais donc que dans les attributs des mes tombes on voie nom1, prénom1,etc pour le premier morts nom2, prénom2,etc si une deuxième personne est enterré avec et ainsi de suite. Mais je ne vois pas comment techniquement obtenir ceci?
Auriez-vous des solutions pour réaliser ceci?
Ou une autre méthode pour arriver à un résultat lisible?
Merci d'avance pour vos réponses
Hors ligne
#3 Thu 31 March 2022 15:49
- shirosaki
- Participant actif
- Lieu: Lyon
- Date d'inscription: 30 Mar 2018
- Messages: 125
Re: QGIS: Probl de gestion d'un tableau Excel
Bonjour,
Une méthode assez simple pour faire apparaitre ce genre d'info rapidement est de définir une relation dans Qgis et ensuite de paramétrer un "widget relation" dans le formulaire de saisie de la couche "Tombes"
Dans un premier temps, il faut définir une "relation" entre la couche "Tombe" et la couche "Morts",
Pour ça, allez dans, projet, propriété, relations
Ajouter une nouvelle relation
Donner un nom à cette dernière (exemple : "rel_tombes_morts")
Comme couche parente prenez la couche "Tombes" et comme champ de jointure prenez le champs identifiant unique
Comme couche enfant prenez la couche "Morts" et comme champ de jointure, prenez le champs identifiant unique
faites ok
Ensuite, allez dans les propriétés de la couche "Tombe", formulaire d'attributs, passer en mode "Conception par glisser/déposer" au lieu de "génération automatique"
Faites glisser la relation dans la fenetre disposition du formulaire
maintenant, si vous ouvrer le formulaire de saisie d'une tombe, une fenetre spéciale, récapitulant l'ensemble des morts associés a cette tombe sera présente.
Ci joint un projet exemple fait en 5 minutes : https://we.tl/t-0LNq7IwkJx
Paul QUESNOT
Hors ligne
#4 Thu 31 March 2022 16:03
- shirosaki
- Participant actif
- Lieu: Lyon
- Date d'inscription: 30 Mar 2018
- Messages: 125
Re: QGIS: Probl de gestion d'un tableau Excel
Après, si vous voulez que dans la table attributaire de la couche "Tombe" apparaisse plusieurs champs avec les infos des morts (prenom_1, nom_1, prenom_2, etc.)
c'est possible, mais un peu plus long
il faudra déjà, identifier le nombre maximal de morts présent dans une tombe
ensuite vous allez créer un champ virtuel (exemple : "nom_1") dans la couche tombe et la remplir avec la formule suivante (formule à adapter)
Code:
relation_aggregate( relation := 'identifiant de la relation', aggregate := 'array_agg', expression := "nom", order_by := "id")[0]
après pour créer le champ nom_2 utiliser la même formule mais au lieu de mettre [0] à la fin, incrémenter de 1 l'index --> [1]
et ainsi de suite pour les champ nom_3, etc.
il faudra donc créer autant de champs que de nombre maximal de mort présent dans une tombe...
Dernière modification par shirosaki (Thu 31 March 2022 16:04)
Paul QUESNOT
Hors ligne