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 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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

 

#8 Sun 17 February 2019 18:09

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: QGIS: graphique atlas

C'est plutôt ça que je cherche : un diagramme en bâtons pour illustrer la carte dans le composeur.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

ppluvinet a écrit:

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

 

Pied de page des forums

Powered by FluxBB