#1 Sat 16 February 2019 10:47
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
QGIS: graphique atlas
Bonjour,
J'ai déjà posté un sujet sur le paramétrage de l'atlas sur lequel j'ai eu entière satisfaction. Je vous en remercie.
Ce qu'il m'a fallu comprendre en 2 ou 3 jours, m'a permis de réaliser un atlas à la commune sur l'occupation du sol en 2 heures.
Je dois en plus mettre un diagramme en bâtons sur la carte mettant en valeur la répartition des espaces naturels, agricoles et artificialisés.
Serait-il possible que ce graphique soit modulé à la commune dans l'atlas?
Hors ligne
#2 Sat 16 February 2019 18:44
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 402
Re: QGIS: graphique atlas
bonsoir
oui c possible dans la couche propriété/diagramme
cela dépend néanmoins de l’organisation de vos données une ou plusieurs couches ...
LJ
Hors ligne
#3 Sat 16 February 2019 19:02
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: graphique atlas
Vous voulez dire que dans la couche propriété/diagramme, je peux mettre un ensemble de règles NOM_COM_M =@atlaspagename?
Hors ligne
#4 Sat 16 February 2019 22:45
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 402
Re: QGIS: graphique atlas
si vous avez des colonnes avec espaces naturels, agricoles et artificialisés
alors vous devriez pouvoir faire apparaître un diagramme de répartition de ces espaces par commune
LJ
Hors ligne
#5 Sun 17 February 2019 09:57
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: graphique atlas
Désolé mais je pense que je me suis mal exprimé quant à la carte. La carte c'est celle du composeur. Dans ce composeur, il y aurait donc la carte donnant la répartition des 3 espaces. Et à côté, il y aurait un tableau représentant un diagramme en bâtons sur la répartition des espaces. Donc deux questions :
- Est-il possible de faire un tel tableau?
- Si oui, est-il modulable à la commune lors de l'atlas?
Hors ligne
#6 Sun 17 February 2019 16:41
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 402
Re: QGIS: graphique atlas
de ce que je comprend vous pouvez faire un carte comme celle jointe
ensuite dans le composeur, faire un atlas qui affiche chaque territoire avec son camembert
dans le composeur vous pouvez aussi inclure un tableau, voir la barre d'outil qui fera ressortir les données de la commune qui est affichée ...
LJ
Dernière modification par laurent00 (Sun 17 February 2019 16:43)
Hors ligne
#7 Sun 17 February 2019 17:48
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: QGIS: graphique atlas
Bonjour,
Ca semble possible en utilisant les formes de type rectangle et en jouant sur la "taille et position" de chaque rectangle.
Pour ca , il faudrait alors utiliser pour la hauteur des barres des expressions de type : sum(attribute(get_feature( 'OCSOL','NIV1','1'),'AREA')) mais je suis pas un expert de ces expressions, pourtant bien pratiques.
Perso, s'i j'avais à faire ca, je prendrai peut-être l'option d'automatiser la production de diagramme en image PNG (avec R par exemple) et de lier l'image dans l'atlas (avec une expresion mais beaucoup plus simple sans doute, permettant de lier le diagramme avec les codes de la commune).
Maintenant le sujet m'intéresse et s'il y a d'autres solutions proposées, je suis intéressé par les lire (et éventuellement les tester).
Dernière modification par ppluvinet (Sun 17 February 2019 17:51)
Pascal PLUVINET
Hors ligne
#9 Sun 17 February 2019 18:51
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: graphique atlas
et ce diagramme en bâtons serait modulé en fonction de la commune dans l'atlas. Pour Laurent00, on parle bien de la même chose?
Hors ligne
#10 Mon 18 February 2019 08:55
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 402
Re: QGIS: graphique atlas
ma carte est faite avec un camembert mais il y a la même chose avec histogramme
donc cela devrait se faire directement, mais pour cela il faut que chaque barre de l'histo corresponde à une colonne de votre table de couche dont les lignes sont des communes ...
LJ
Dernière modification par laurent00 (Mon 18 February 2019 08:55)
Hors ligne
#11 Mon 18 February 2019 09:02
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: QGIS: graphique atlas
Si j'ai bien compris ce que souhaite Conejo :
il a 2 shapes : 1 de l'OCSOL et 1 des communes (qui permet en autre de faire l'Atlas")
Il a créé un atlas communal via le composeur et il veut dans un coin du composeur créer un histogramme représentant dynamiquement les surfaces de grand types d'occupation du sol de chaque commune. Cet histogramme serait basé sur le shape OCSOL et filtré par commune.
Si c'est ca, la solution de laurent00 ne me parait pas appropriée.
Pascal PLUVINET
Hors ligne
#12 Mon 18 February 2019 10:19
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: graphique atlas
Pour ppluvinet : il s'agit bien de cela
Hors ligne
#13 Mon 18 February 2019 10:43
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: QGIS: graphique atlas
Je dirais déjà que pour simplifier les choses, il faudrait :
- disposer de l'info CODE_INSEE dans la couche OCSOL et donc faire l'intersection au préalable. Il est possible de passer par une couche virtuelle pour faire le croisement mais j'ai des doutes en termes de performance .
- disposer de la surface de la commune dans la couche COMMUNE.
Puis on peut créer une couche virtuelle qui sommera les surfaces de chaque type d'ocsol par commune avec un champ concaténé du code_insee et de l'ocsol :
Code:
SELECT CODE_INSEE||NIV1 as NIV1COM, sum(AREA) as SUMAREA FROM OCSOL
Puis dans le composeur, l'idée serait de créer des barres (forme rectangle) et éditer la hauteur avec des expressions du type :
Code:
attribute(get_feature( 'COMNIV1','NIV1COM',@atlas_pagename||'_'||3),'SUMAREA')*TAILLEMAX/"AREACOM"
avec "AREACOM" = surface de la commune (champ de la couche COMMUNE)
COMNIV1 = nom de la couche virtuelle faisant la somme des surfaces
@atlas_pagename est la avriable permettant de récupérer le code_insee de la commune paramétrée par l'onglet Atlas
SUMAREA = somme des surfaces venant de la couche virtuelle
TAILLEMAX = à remplacer par la hauteur max en mm du baton représentant 100%
3 , ici représente le niveau 3 (ex milieu nat pour du code de type corine land cover
A tester...
Il doit y avoir surement des solutions alternatives...
Bon courage
Pascal PLUVINET
Hors ligne
#14 Mon 18 February 2019 11:47
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS: graphique atlas
Bonjour,
Il y avait une requête dans le genre (https://georezo.net/forum/viewtopic.php?id=105241) sur les versions précédentes. A checker et adapter?
Hors ligne
#15 Mon 18 February 2019 19:59
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 402
Re: QGIS: graphique atlas
Si c'est ca, la solution de laurent00 ne me parait pas appropriée.
effectivement moi je préfère faire mes stats par commune puis les inscrire en jointure dans ma table commune ...
du coup dans l'atlas c simple d'insérer un histo et un tableau ...
évidement c moins dynamique ...
LJ
Hors ligne
#16 Wed 20 February 2019 10:27
- Mickael HOARAU
- Juste Inscrit !
- Lieu: Réunion
- Date d'inscription: 20 Feb 2019
- Messages: 2
Re: QGIS: graphique atlas
Bonjour,
J'ai posté un tuto disponible sur le blog d'Anita Graser sur la création d'atlas avec des graphiques.
(Mais avec des camembert, cela reste possible toutefois avec des diagrammes en barre mais du code html/css approprié)
Malheureusement je n'ai pas fait de version française
https://anitagraser.com/2016/10/15/qgis … al-design/
Cordialement.
Hors ligne
#17 Wed 20 February 2019 10:50
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: QGIS: graphique atlas
Effectivement ce tuto est très bien réalisé.
La possibilité de faire les diagrammes en HTML/CSS est très intéressante et esthétique ! Toutefois, la part de développement est plus importante.
Si quelqu'un se lance dans la production d'histogrammes tels que sont les besoins de conejo, ca peut être bien utile de poster le code HTML/CSS ici.
Pascal PLUVINET
Hors ligne
#18 Thu 21 February 2019 12:22
- Mickael HOARAU
- Juste Inscrit !
- Lieu: Réunion
- Date d'inscription: 20 Feb 2019
- Messages: 2
Re: QGIS: graphique atlas
Bonjour,
A l'image de ce qui est fait dans le tutoriel, vous pouvez utiliser cette bibliothèque pour faire des graphiques en barre.
https://www.cssscript.com/creating-resp … s-cssplot/
En les modifiant comme ceci :
Original :
Code:
<div class="bar-chart"> <ul class="container"> <li data-cp-size="10">10%</li> <li data-cp-size="70">70%</li> <li data-cp-size="30">30%</li> </ul> </div>
Version atlas :
Code:
<div class="bar-chart"> <ul class="container"> <li data-cp-size="[% mon_champ_valeur1 %]">[% mon_champ_nom1 %]</li> <li data-cp-size="[% mon_champ_valeur2 %]">[% mon_champ_nom2 %]</li> <li data-cp-size="[% mon_champ_valeur3 %]">[% mon_champ_nom3 %]</li> </ul> </div>
N'oubliez pas d'ajouter le css manuellement.
Dernière modification par Mickael HOARAU (Thu 21 February 2019 12:27)
Hors ligne