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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

#2 Thu 31 March 2022 14:44

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3939

Re: QGIS: Probl de gestion d'un tableau Excel

Bonjour,
Les relations devraient certainement vous aider.

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

 

Pied de page des forums

Powered by FluxBB