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