Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 Wed 24 May 2017 17:46

image95
Participant assidu
Date d'inscription: 6 Sep 2014
Messages: 257

QGIS 2.18 / Atlas: automatiser l'import de graphiques ?

Bonjour à tous,

Je travaille sur qgis 2.18 (windows). J'utilise souvent l'outil de génération d'atlas. Mais pour une étude spécifique, j'aimerais beaucoup pouvoir importer au sein du composeur non seulement des objets cartes mais également des graphiques (courbes) de manière automatique.
Des personnes sauraient elles me conseiller un moyen de realiser celà?
Dois je obligatoirement passer par de la programmation sous python ? (pour info, je ne suis pas développeur, mais je suis pret à m'y mettre). Ou bien R pourrait il egalement etre une solution?

Par avance, merci pour votre aide.

Image95

Hors ligne

 

#2 Wed 24 May 2017 23:54

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

Re: QGIS 2.18 / Atlas: automatiser l'import de graphiques ?

Bonsoir,

c'est marrant je travaille sur un projet similaire.

J'avais commencé à générer des graphiques avec matplotlib, sauf que cela nécessitait que les graphs soient générés avant la génération de l'atlas. Au final il y a quelques librairies en javascript qui permettent de faire des choses sympas et ca fonctionne pas trop mal dans des cadres html. Donc je pense plus explorer cette piste ci.

Vos graphiques ne sont pas encore produits du coup ?
C'est de la donnée qui sera externe à qgis qui servira à produire les graphiques ? Si oui, peut-elles être importées dans qgis ?

Cordialement,

Hors ligne

 

#3 Thu 25 May 2017 07:13

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1235
Site web

Re: QGIS 2.18 / Atlas: automatiser l'import de graphiques ?

Bonjour,

j'ai eu à faire cela aussi.
J'étais passé par un script php (web) qui recevait les données en paramètre dans l'url du script et générait mon graphique avec c3js.
Vois aussi les possibilités offertes par css (limitées pour les courbes je pense) : https://underdark.files.wordpress.com/2 … torial.pdf

Mathieu


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#4 Thu 25 May 2017 11:30

image95
Participant assidu
Date d'inscription: 6 Sep 2014
Messages: 257

Re: QGIS 2.18 / Atlas: automatiser l'import de graphiques ?

Bonjour,

Merci pour vos réponses et propositions d'outils. Je comprends en fait que la démarche peut se decomposer (ou pas) en 2 grandes etapes disctinctes : la realisation des graphes ET l'import, l'appel de ces derniers au sein de l'outil qgis plugin atlas.

1/ Je trouve l'idée d'utiliser des cadres html intéressantes. Outre c3js, pourriez me dire le  nom d'autres librairies javascript intéressantes? Celà nécessiterait quelles compétences en programmation? (HTML? javascript? je suis un thematicien teledetection/vegetation, j'ai juste des notions theoriques en programmation mais j'ai jamais vraiment pratiqué).

2 / Actuellement, non, mes graphes ne sont pas encore réalisés. Mais je peux éventuellement les faire assez facilement et rapidement je pense (avec excel par exemple). Oui, c'est de la donnée interne à qgis qui va me permettre de les faire. Il s'agit en fait de données attributaires extraites à partir du plugin qgis Zonal stats (extraction de valeurs à partir d'une image multispectrales à 4 bandes). Pour chacune de mes entités polygonales (ROI), j'aimerais par exemple pouvoir réaliser un graphique permettant de visualiser la courbe des moyennes de reflectance pour chaque bande spectrale (axe des abssices: bande1, bande2, bande3, bande4 / Axe des ordonnées, valeur des moyennes).

3/ J'ai également lu sur le web qu'une possibilité consisterait à réaliser les graphiques manuellement (dans excel par exple). Puis de stocker les chemins de fichiers pointant vers ces graphiques au sein d'un table attributaire. L'idée serait d'appeler ce champ à travers l'outil qgis plugin atlas. Ce moyen serait peut etre le plus abordable pour un non développeur comme moi? Par contre, je ne vois pas encore comment stocker des chemins de fichiers au sein d'un champ attributaire? Et je ne vois pas comment définir ce champ au sein de l'outil qgis plugin atlas...?
Si vous pensez pouvoir éclairer, avec plaisir. je vais essayer de regarder en parallèle sur le web.

Merci.

IMAGE95

Dernière modification par image95 (Thu 25 May 2017 11:41)

Hors ligne

 

#5 Thu 25 May 2017 23:56

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

Re: QGIS 2.18 / Atlas: automatiser l'import de graphiques ?

Bonsoir,

Pour la bibliothèque c3js ou d3js sont effectivement des bons choix car bien interprétés dans les cadres html.
L avantage de passer par cela c est que les graphiques sont dynamiques mais ça nécessite de programmer.

Si vous pensez les réaliser via excel, le mieux est de générer vos graphiques de manière relative à votre projet soit dans des dossiers séparés dont le nom est liés à votre atlas.

Un exemple d arborescence :

Code:

Projet.qgs
Altasfeatureid1/
                      Graph1.jpg
                      Graph2.jpg
                      Graph3.jpg
Altasfeatureid2/
                      Graph1.jpg
                      Graph2.jpg
                      Graph3.jpg
Altasfeatureid3/
                      Graph1.jpg
                      Graph2.jpg
                      Graph3.jpg
Altasfeatureid4/
                      Graph1.jpg
                      Graph2.jpg
                      Graph3.jpg

Après dans votre composeur vous ajoutez 3 images correspondant aux 3 graphiques.
Et dans la sourçe au lieu de fixer un chemin, vous entrez un expression (exemple pour le premier graph) :

Code:

@project_folder || '/' || @atlas_featureid || '/' ||  Graph1.jpg

Ici, j ai mis la variable @atlas_featureid mais vous avez accès à l ensemble des champs de votre couche de couverture donc vous pouvez nommer vos répertoires comme bon vous semble tant que ça permet d identifier de manière unique les objets de votre atlas.
Cordialement,

Dernière modification par lejedi76 (Fri 26 May 2017 00:09)

Hors ligne

 

Pied de page des forums

Powered by FluxBB