#1 Thu 27 April 2023 16:22
- ABEIL
- Juste Inscrit !
- Date d'inscription: 23 Jun 2022
- Messages: 3
QGIS: Atlas et Tableau Croise Dynamique
Bonjour,
je travailles sous QGIS pour de l'éclairage public,
et j'ai créé un atlas qui me permet de ne faire ressortir que les luminaires qui appartiennent à une rue spécifique sur une carte (atlas trié selon les noms de rues). J'ai créé une légende à cet atlas.
Sur cet atlas, j'ai une deuxième et troisième page avec un tableau donnant les caractéristiques spécifiques de chaque luminaire appartenant à cette rue.
Il s'avère que j'ai souvent les mêmes luminaires dans une rue,
imaginons une rue lambda où j'ai 20 luminaires, avec 10 luminaires aux caractéristiques A et 10 luminaires aux caractéristiques B,
j'ai aujourd'hui 2 types de luminaires dans ma légende, mais 20 lignes dans mon tableau.
J'aimerais remplacer ce tableau de 20 lignes par une sorte de tableau croisé dynamique où,
au lieu d'avoir 20 lignes, j'aurais 1 ligne par caractéristique de luminaire (soit 2 lignes ici car A et B).
En bonus, si possible, s'il était possible dans ce nouveau tableau de 2 lignes,
de créer une colonne avec le nombre de luminaires de caractéristique A ou B,
et une autre colonne qui concaténerait les noms de luminaires aux mêmes caractéristiques.
J'ai desfois des rues avec 150 à 200 luminaires, ce type de tableau me permettrait de simplifier la lecture du tableau.
En vous remerciant d'avance
Hors ligne
#2 Thu 27 April 2023 17:34
- anthony.v
- Participant occasionnel
- Date d'inscription: 13 Apr 2023
- Messages: 25
Re: QGIS: Atlas et Tableau Croise Dynamique
Bonjour
Vous devriez pouvoir réaliser cela en ajoutant une table attributaire à votre mise en page, en paramétrant les colonnes via l'onglet "Attributs" comme ceci :
1ère colonne : l'attribut "CARACTERISTIQUE" correspondant à votre type de luminaire
2ème colonne : saisissez l'expression : count( "NOM_LUMINAIRE" , group_by:= "CARACTERISTIQUE" ), vous obtiendrez ainsi le nombre de luminaire par type - fonctionne aussi avec : count( $id, group_by:= "CARACTERISTIQUE" )
3ème colonne : saisissez l'expression : concatenate( "NOM_LUMINAIRE" ,group_by:="CARACTERISTIQUE", concatenator:=',')
Dans les propriétés de l'objet table attributaire, cochez sous le menu "Filtrage des entités" les cases "Supprimer les lignes en double de la table" et "Ne montrer que les entités intersectant avec l'atlas"
Dernière modification par anthony.v (Thu 27 April 2023 17:39)
Hors ligne
#3 Tue 08 August 2023 09:11
- ABEIL
- Juste Inscrit !
- Date d'inscription: 23 Jun 2022
- Messages: 3
Re: QGIS: Atlas et Tableau Croise Dynamique
Bonjour,
Merci pour votre réponse.
- Pour la colonne où j’ai le nombre de luminaires, la somme faite ne permet pas de séparer les luminaires selon les caractéristiques.
Exemple : sur un secteur j’ai 20 luminaires, 5 de type A et 15 de type B, cependant dans mon tableau les sommes ne sont pas différenciées et chaque ligne indique 20 luminaires.
Est-il possible de faire la somme des luminaires par type qui sont présents sur la carte (chaque luminaire a dans ses données attributaires le nom de la rue où il se situe ce qui permet de le rattacher à l’atlas)
- Pour la colonne avec les noms des luminaires, le tableau affiche les noms de tous les luminaires avec cette caractéristique, il ne prend pas uniquement ceux présent sur la carte.
Donc si j’ai 80 luminaires de type A il va me donner tous les noms de ceux-là alors qu’ils ne sont pas tous présent sur la carte présente dans la présentation.
Est-il possible de relier la colonne des noms à la carte présente sur la présentation pour afficher uniquement les noms des luminaires visibles sur la carte ?
Le filtre "Ne montrer que les entités intersectant avec l'atlas" est bien activé, cependant cela fonctionne uniquement pour les lignes des types, ensuite les informations qu’il y a dans les autres colonnes ne paraissent pas prendre ce filtrage en compte.
Merci d’avance
Hors ligne