【问题标题】:Polygons only display when data is called within leaflet()多边形仅在传单()中调用数据时显示
【发布时间】: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 个缓冲区。

【问题讨论】:

    标签: r leaflet r-leaflet


    【解决方案1】:

    我在多边形和折线方面遇到了同样的问题,当我提供参数 data = buffer_1 而不是只提供 buffer_1 作为参数时,它就起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 2016-02-06
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      相关资源
      最近更新 更多