Lorsque j'essaie d'ajouter plus d'un polygone à une carte de dépliant avec rCharts
en utilisant la fonction map$geoJson()
, seul le dernier polygone apparaît sur la carte. Les autres ne sont pas affichés. Une idée sur ce que je peux faire pour ajouter plus d'un polygone à ma carte? Ci-dessous vous pouvez voir une description détaillée de ce que j'ai fait:Ajouter plusieurs polygones à la carte de dépliant rCharts
1. J'interroge une base de données postgis pour obtenir mes polygones et par conséquent j'obtiens le code d'un seul polygone comme un GeoJSON qui ressemble approximativement à ceci:
"{\"type\":\"Polygon\",\"coordinates\":[[[16.644953973395001,48.142664957703971], ...[16.644439684506018,48.143173899704649],[16.644953973395001,48.142664957703971]]]}"
en somme j'ai 81 polygones et je veux les afficher sur une carte de brochure. J'utilise le paquet rCharts à cette fin.
2. À l'étape suivante, je les convertis avec le paquet RJSONIO
en utilisant la fonction fromJSON
. Ensuite, le code d'un polygone unique ressemble à peu près comme ceci:
$type
[1] "Polygon"
$coordinates
$coordinates[[1]]
$coordinates[[1]][[1]]
[1] 16.66885 48.42283
$coordinates[[1]][[2]]
[1] 16.66196 48.42634
$coordinates[[1]][[3]]
[1] 16.65877 48.42876
.
.
.
$coordinates[[1]][[62]]
[1] 16.67115 48.42179
$coordinates[[1]][[63]]
[1] 16.66885 48.42283
3. Comme la dernière étape je créer une carte de brochure et ajouter les polygones avec la fonction map$geoJson
:
map <- Leaflet$new()
map$tileLayer(provider = 'Stamen.TonerLite')
map$setView(c(48.42283, 16.66885), zoom = 10)
map$enablePopover(TRUE)
map$geoJson(polygon1)
map$geoJson(polygon2)
map$geoJson(polygon3)
map$geoJson(polygon4)
map$fullScreen(TRUE)
map$set(width = 800, height = 600)
map
Avec cette méthode, seul le dernier polygone (polygone4) est affiché sur la carte, les autres n'apparaissent pas. Des suggestions sur la façon de les faire apparaître?
Cette approche est recommandée. Je crois que LeafletJS permet d'ajouter des géométries simples une à la fois, mais je n'ai pas exposé cela dans la liaison rCharts. Donc 'geoJSON' est le chemin à parcourir. – Ramnath
Plusieurs couches geoJSON dans rCharts seraient pratiques, mais il faut finalement en finir avec la balle et se rendre compte que l'on peut aussi bien écrire le JS soi-même. – Spacedman
C'est vrai. Il doit y avoir un équilibre. – Ramnath