【发布时间】:2019-07-15 19:10:38
【问题描述】:
我正在尝试将多个多边形图层映射到传单地图。多边形在单独添加时显示,但不一起添加,会引发错误:“derivePolygons(data, lng, lat, missing(lng), missing(lat), "addPolylines") 中的错误: addPolylines 必须同时使用 lng 和 lat 调用,或者两者都不使用"
我有三个使用以下代码创建的 sfc_POLYGON 类的缓冲区文件:
CCL2 <- read_sf([my file here])
class(CCL2)
#[1] "sf" "tbl_df" "tbl" "data.frame"
CCL3<-st_combine(CCL2)
#create a buffer of x miles about the CCL
buffer_1 <- st_buffer(CCL3, dist = .04)
buffer_2 <- st_buffer(CCL3, dist = .03)
buffer_3 <- st_buffer(CCL3, dist = .02)
我想做的是有一个传单,一次显示所有这些,代码如下:
bmap <- leaflet() %>%
addProviderTiles(providers$Stamen.TonerLines) %>%
addProviderTiles(providers$Stamen.TonerBackground) %>%
addPolylines(buffer_1, opacity = 1, col = "red") %>%
addPolylines(buffer_2, opacity = 1, col = "blue") %>%
addPolylines(buffer_3, opacity = 1, col = "green")
(AddTiles %>% does not seem to make a difference so I have left that out)
该代码引发了我上面提到的错误。 到目前为止我已经尝试过:
- 使用 Polygons() 转换 sfc_POLYGON 缓冲区文件。
- 使用 addPolygons() 代替 addPolylines()
- 将 lng = NULL 和 lat = NULL 作为参数
基本上,因为缓冲区有 MULTILINESTRING / 几何数据,它们单独映射 and look like this. 这是有效的代码:
bmap <- leaflet(buffer_1) %>%
addProviderTiles(providers$Stamen.TonerLines) %>%
addProviderTiles(providers$Stamen.TonerBackground) %>%
addPolylines(opacity = 1, col = "red")
寻求帮助,看看是否有任何方法可以一次显示所有 3 个缓冲区。
【问题讨论】: