当我尝试使用rCharts
函数向map$geoJson()
的传单地图添加多个多边形时,只有最后一个多边形出现在地图上。其他的不显示。我有什么想法可以为我的地图添加多个多边形?您可以在下面看到我所做的详细说明:
1。我正在查询postgis数据库以获取我的多边形,因此我得到一个多边形的代码作为GeoJSON看起来大致如下:
"{\"type\":\"Polygon\",\"coordinates\":[[[16.644953973395001,48.142664957703971], ...[16.644439684506018,48.143173899704649],[16.644953973395001,48.142664957703971]]]}"
总之,我有81个多边形,我想在传单地图上显示它们。我正在使用rCharts包来实现此目的。
2。下一步,我使用RJSONIO
函数使用包fromJSON
转换它们。然后,单个多边形的代码看起来大致如下:
$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。作为最后一步,我创建了一个传单地图,并使用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
使用此方法,只有最后一个多边形(polygon4)正在地图上显示,其他多边形不显示。有关如何制作它们的任何建议吗?
答案 0 :(得分:1)
您必须构建一个包含所有多边形的单个 geoJSON对象并添加它。见这里:
https://github.com/ramnathv/rCharts/blob/master/inst/libraries/leaflet/examples/example10.R
请注意,json是具有几何类型Polygon功能的FeatureCollection。从多边形坐标构建该字符串并添加。