Génération de graphiques sparkline sous forme de diagrammes QGIS 2.10

8

Les éléments suivants semblent être une fusion de questions. Est-il possible de représenter des points sous forme de graphiques sparkline dans ArcGIS for Desktop? et les coordonnées du diagramme à secteurs dans QGIS .

Fondamentalement, j'ai 5 séries d'observations pour n régions (la géographie du Bureau australien des statistiques SA2). Chaque ensemble d'observations est le nombre de personnes âgées de moins de 30 ans et de personnes âgées de plus de 60 ans - donc, fournissant essentiellement deux coordonnées qui peuvent être tracées l'une contre l'autre pour générer un graphique linéaire.

J'ai réussi à les importer en tant que chaîne WKT dans QGIS afin de générer des graphiques linéaires assez géniaux - dans l'image suivante, chaque ligne est un SA2 dans une géographie fusionnée (HMdA), comme vous pouvez le voir, les trajectoires varient pour différentes lignes, c'est cette facette que j'essaie de capturer:

entrez la description de l'image ici

Faire cela m'a fait penser qu'il devrait être possible de les rendre en tant que Sparklines Tufte-esq autour du centroïde pour chaque SA2. Cela aiderait à replacer les trajectoires dans un contexte spatial (qui, après tout, c'est le SIG!).

J'ai pensé qu'un rendu .svg pourrait être la voie à suivre (bien que le lien vers le tutoriel pour créer des graphiques sparkline basés sur SVG avec d3.js sur le site Web de Tufte soit rompu: ( http://www.edwardtufte.com/ bboard / q-and-a-fetch-msg? msg_id = 0001OR ). Ici, l'idée serait de rendre les SVG et de leur attacher les coordonnées du centroïde SA2 pour le mappage - bien que je ne sache pas dans quelle mesure ce serait possible il y a plus de 3000 SA2, et je ne veux pas rendre autant de fichiers SVG!

Les diagrammes QGIS sembleraient être une autre avenue possible pour l'exploration - bien que je ne semble pas trouver de littérature sur la création de diagrammes sur mesure (autres que les graphiques à secteurs, à barres et à texte). Donc, ici (deuxième, désolé!), La question serait - quelqu'un a-t-il tenté de créer différents styles de diagramme dans QGIS?

MODIFIER Si quelqu'un examine toujours cette question ... Je suis en train d'utiliser CETTE petite beauté pour structurer un cadre de zone égale dans lequel déposer les sparklines.

Andrew Tice
la source

Réponses:

4

Cela devrait être assez simple du côté de QGIS; la partie la plus difficile rendra les SVG par lots. Pour cela, R est probablement un aussi bon moyen que n'importe quel autre. Si JavaScript est plus attrayant, consultez cette réponse pour un exemple de la façon d'exporter SVG à partir de d3.

Vous pouvez créer une couche centroïde à partir de vos zones de recensement et les styliser en tant que symboles SVG. Depuis les versions plus récentes de QGIS, vous pouvez utiliser des expressions pour créer une chaîne représentant le nom de fichier du SVG. Donc, tant que vous respectez une convention de dénomination (par exemple Censusarea_1234.svg), vous pouvez utiliser une expression comme

'/path/to/' || 'censusarea_' || "id_field" || '.svg'

Dans ce cas, le centre du SVG sera aligné avec le centroïde. Vous pouvez ajouter un décalage et utiliser certains champs pour les définir (de la même manière que l'étiquetage est effectué)

D'après l'apparence de votre capture d'écran, il semble que vous aligniez le premier point de données avec le centroïde, auquel cas vous voudrez le faire lors du rendu de votre SVG. Le moyen le plus simple est probablement de soustraire les coordonnées x et y du premier point de données de chaque point à son tour pour centrer les choses. Dans R, ce serait quelque chose comme xlim=c(-100,+100)et ylim=c(-100,+100)sur l'intrigue, cela devrait centrer le SVG sur le premier point.

Un autre mécanisme possible est les annotations SVG . Ceux-ci peuvent être stylisés pour masquer la bulle et afficher simplement le SVG. Ceux-ci ont l'avantage de pouvoir être déplacés et supprimés manuellement - très pratique si vous souhaitez modifier les positions (par exemple, pour éviter les chevauchements). Il devrait être possible d'utiliser Python pour les ajouter au canevas par programmation, mais je n'ai pas réussi à faire fonctionner cela.

Steven Kay
la source
Merci pour ce Steven. C'est la génération de SVG par lots qui me donne du chagrin. Nommer les fichiers avec l'ID unique SA2 semble être une bonne solution.
Andrew Tice
1
Ah .... R .... stackoverflow.com/questions/14432543/…
Andrew Tice
3

De plus, il faut attendre le style "rendu géométrique" qui apparaîtra dans QGIS 2.14 mais qui est accessible via la version dev.

mathieu_r
la source
Merci Mathieu .. J'y reviendrai certainement quand j'aurai les droits d'administrateur sur mon ordinateur actuel!
Andrew Tice