Comment afficher des graphiques à côté des entités sur la carte?

13

Cette question est censée être principalement sur le logiciel QGIS, mais toutes les autres solutions logicielles sont les bienvenues dans la mesure du possible pour y parvenir le plus facilement possible, de préférence hors de la boîte. Bien que la limitation soit une carte statique (à imprimer), aucune solution de carte Web interactive n'est applicable ici.

Existe-t-il un moyen de créer des graphiques (outil / plug-in dans QGIS) pour les données de série chronologique / tableau pour les points (peut également être des lignes / polygones) et de l'afficher à côté des entités?

Je connais un outil de diagramme / histogramme simple. J'ai également eu l'idée de charger des graphiques au format SVG, mais cela signifie que je dois d'abord exporter beaucoup de graphiques, puis les lier manuellement en tant que symboles. Existe-t-il une solution prête à l'emploi plus profonde?

Ce que j'ai essayé jusqu'à présent ressemble à ceci:

entrez la description de l'image ici

Ce que j'aimerais réaliser ressemble à ceci:

entrez la description de l'image ici

Miro
la source
2
Salut Miro, j'ai récemment posté cette question ( gis.stackexchange.com/questions/175299/… ) - qui, en y repensant , ressemble beaucoup à celle-ci! Avez-vous réussi à trouver une solution à ce problème?
Andrew Tice
1
@AndrewTice Nope, cela a été fait dans un logiciel payant spécifique. Malheureusement, je n'ai aucune idée de combien il est possible d'utiliser la bibliothèque python-matplotlib à partir de QGIS et de dessiner des graphiques dans le canevas. Quoi qu'il en soit, je n'ai rien trouvé d'utile comme un plugin ou des scripts sur ce sujet. Sinon, générer des graphiques SVG et les lier dans QGIS à des points pourrait également être le moyen.
Miro
Consultez ce post d'Anita, je pense que cela pourrait être un bon début: anitagraser.com/2016/03/19/creating-dynamic-icon-series
WKT
@Azimo Merci, l'option décrite par Anita dans son article est mentionnée dans ma question depuis le début. Je savais que dans QGIS map canvas, vous pouvez utiliser des fichiers SVG et les lier à des fonctionnalités. Bien sûr, vous devez avoir un chemin spécifique vers SVG pour chaque fonctionnalité et non le "cas où" comme Anita l'utilise dans son article. Je cherche quelque chose de plus avancé si possible.
Miro
C'est quelque chose qui revient assez souvent - ce serait un excellent ajout à QGIS ou ArcGIS pour pouvoir inclure des graphiques sparkline ou des mini-graphiques comme étiquette d'une entité sur la carte.
kes

Réponses:

1

R convient le mieux à vos besoins. Essayez ce qui suit et expérimentez avec.

#Load rgdal library
library(rgdal)
#Load the shapefile specifying path in dsn and file name for layer
world_layer<-readOGR(dsn="C:/SampleData",layer="world_borders")
#Describe the columns of the layer
summary(world_layer)
#Plot using spplot library with column values categorized into 30 classes
spplot(world_layer, z="POP_CNTRY", cuts= 30)

Vous devriez obtenir une carte et un graphique comme indiqué ci-dessous, bien sûr, vous pouvez le personnaliser de plusieurs façons.

entrez la description de l'image ici

Il existe de nombreux liens qui enseignent plus en détail

http://www.kevjohnson.org/making-maps-in-r/

http://personal.colby.edu/personal/m/mgimond/Spatial/Intro_to_spatial_data_manipulation_in_R.html#using-the-rgdal-library

https://cran.r-project.org/web/views/Spatial.html

http://www.r-bloggers.com/amateur-mapmaking-getting-started-with-shapefiles/

https://www.nceas.ucsb.edu/scicomp/usecases/ReadWriteESRIShapeFiles

addcolor
la source
Merci, mais en quoi est-ce lié à ma question "Comment afficher les graphiques à côté des entités sur la carte?" Où se trouvent les graphiques à côté des entités pour chaque entité de la carte?
Miro
1

Vous pouvez utiliser ArcGIS si vous y accédez. Ceci est un exemple de ce que j'ai fait avec ArcMap et Excel (désolé pour la langue, l'ancienne carte). Vous pouvez créer le graphique dans Excel et l'insérer en tant qu'objet. Le truc avec cette méthode, c'est que si vous voulez utiliser une grande palette de couleurs et que vous voulez les synchroniser avec celles de la carte, vous devrez le faire manuellement. Une méthode fastidieuse, mais elle fait l'affaire.
Une autre option, également dans ArcMap, est le Graph Toolset qui peut créer des graphiques temporels. Personnellement, je n'aime pas cet outil et préfère utiliser Origin ou Grapher pour faire des graphiques professionnels.

alecsx
la source
1
Merci, mais en quoi est-ce lié à ma question "Comment afficher les graphiques à côté des entités sur la carte?" Où se trouvent les graphiques à côté des entités pour chaque entité de la carte?
Miro
Dans la carte ci-jointe, qui est une carte de couverture terrestre, les graphiques circulaires qui y sont présents représentent le pourcentage de couverture terrestre, pour chaque type de couverture terrestre. Vous avez dit que d'autres solutions logicielles sont les bienvenues, d'où ma réponse.
alecsx
Certes, d'autres solutions logicielles sont les bienvenues. Mais l'image ci-jointe ne montre que des graphiques circulaires en tant qu'images ajoutées à côté du cadre de la carte - ce qui est facile à faire dans tous les post-traitements de QGIS, Mapinfo, ArcGIS et autres logiciels graphiques. Ce que je recherche, c'est d'avoir un graphique pour chaque entité directement sur la carte. Vous pouvez y penser de la même manière que l'étiquetage, sauf qu'au lieu d'une étiquette de texte, il y a un graphique. Et je sais même comment faire cela avec SVG ou un autre format d'image dans QGIS comme indiqué dans ma question. Je demande s'il est possible d'avoir ces graphiques «en direct» (provenant d'une base de données ou d'un tableau) au lieu d'images.
Miro
1

Je ne sais pas trop si UMS MapServer fonctionne comme une couche WMS dans QGIS répondra à vos besoins. Je l'ai essayé, mais je ne suis pas bon dans la conception d'un bon graphique avec le fichier MapServer * .MAP.

Kampau Ocu
la source
Serait-il possible d'ajouter quelques liens vers une partie de la documentation sur les graphiques et mieux certains exemples / turorials? J'ai jeté un coup d'œil et il semble qu'il soit possible de faire aussi des graphiques à barres et des graphiques à barres empilées. Installer UMS MapServer et configurer WMS pour avoir la possibilité de créer des graphiques dans la carte semble lourd mais peut être la seule solution possible dans certains cas. Je vous remercie.
Miro