Suite

Générer des sparklines sous forme de diagrammes QGIS 2.10


Le suivant semble être un amalgame de questions Est-il possible de représenter des points sous forme de graphiques sparkline dans ArcGIS for Desktop ? et les coordonnées du camembert dans QGIS.

Fondamentalement, j'ai 5 ensembles d'observations pour n régions (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, ce qui fournit 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 de ligne 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 amalgamée (HMdA), comme vous pouvez le voir, il existe des trajectoires différentes pour différentes lignes, c'est cette facette que j'essaye de capturer :

Faire cela m'a fait penser qu'il devrait être possible de les rendre sous forme de Sparklines Tufte-esq autour du centroïde pour chaque SA2. Cela aiderait à mettre les trajectoires dans un contexte spatial (ce qui, après tout, est l'objet du SIG !).

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

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

ÉDITER Si quelqu'un examine encore cette question… Je suis en train d'utiliser CETTE petite beauté pour structurer un cadre de surface égale dans lequel déposer les sparklines.


Cela devrait être raisonnablement simple du côté de QGIS ; la partie la plus difficile sera le rendu des 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 d'exportation de SVG à partir de d3.

Vous pouvez créer une couche centroïde à partir de vos zones de recensement et les styliser en 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 vous en tenez à une convention de nommage (par exemple, recensementarea_1234.svg), vous pouvez utiliser une expression comme

'/chemin/vers/' || 'zone de recensement_' || "champ_id" || '.svg'

Dans ce cas, le centre du SVG s'alignera 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 fait)

D'après l'apparence de votre capture d'écran, il semble que vous alignez 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. En R, ce serait quelque chose commexlim=c(-100,+100)etylim=c(-100,+100)sur le tracé, cela devrait centrer le SVG sur le premier point.

Un autre mécanisme possible est 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 - 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 programme, mais je n'ai pas réussi à le faire fonctionner.


Aussi, il faut attendre le style "geometry renderer" qui apparaîtra dans QGIS 2.14 mais qui est accessible via la version dev.


Voir la vidéo: Data Visualization with QGIS (Octobre 2021).