0

rCharts当我尝试使用该功能将多个多边形添加到传单地图时,地图上map$geoJson()只会出现最后一个多边形。其他的不显示。关于我可以做些什么来向我的地图添加多个多边形的任何想法?下面你可以看到我所做的详细描述:

1. 我正在查询 postgis DB 以获取我的多边形,结果我将单个多边形的代码作为 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)显示在地图上,其他的不显示。关于如何使它们出现的任何建议?

4

1 回答 1

1

您必须构建一个包含所有多边形的 geoJSON 对象并添加它。看这里:

https://github.com/ramnathv/rCharts/blob/master/inst/libraries/leaflet/examples/example10.R

请注意,json 是具有几何类型多边形特征的 FeatureCollection。从您的多边形坐标构建该字符串并添加。

于 2014-05-10T10:12:11.117 回答