r - 将生成的多边形网格绘制到传单上的问题

标签 r leaflet raster r-sf r-sp

我正在尝试创建一个多边形网格来在传单中绘制,但遇到了一个我似乎无法弄清楚的错误:

library(leaflet)
library(raster)
library(sf)
library(rgdal)

r <- raster(ext = extent(-10,0, -5, 5), res=c(1,1))
p <- rasterToPolygons(r) 
p <- st_as_sf(p)

leaflet() %>%
  addTiles() %>%
  addPolygons(p)

我收到错误:

Error in derivePolygons(data, lng, lat, missing(lng), missing(lat), "addPolygons") : 
  addPolygons must be called with both lng and lat, or with neither.

我知道这是由 addPolygons() 调用引发的,但我似乎无法弄清楚它在做什么或如何修复它。任何帮助将不胜感激。提前致谢!

最佳答案

您正在按位置在 leaflet::addPolygons() 调用中传递多边形对象;它将被传递给第二个参数(因为我们在管道中)。

第二个位置参数是表示经度的lng。因此,您的传单对象将指定经度,但缺少纬度。

您需要做的是将对象按 name = 作为 data 参数传递。这可能发生在您的 addPolygons() 调用或基本 leafet() 调用中。

library(leaflet)
library(raster)
library(sf)
library(rgdal)

r <- raster(ext = extent(-10, 0, -5, 5), res=c(1,1))
p <- rasterToPolygons(r) 
p <- st_as_sf(p)

leaflet() %>%
  addTiles() %>%
  addPolygons(data = p) # see what I have done? :)

leaflet map showing as expected

关于r - 将生成的多边形网格绘制到传单上的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72724100/

相关文章:

css - 在小型设备上重新排序 Foundation XY 网格单元

javascript - 在 react 传单多边形(圆形)上捕获双击事件

r - ApproxNA 在大型栅格堆栈中产生不同且不正确的结果

gis - 将栅格数据导入 NetLogo 会生成一列所有补丁变量 = 0

python - 在 python 中使用 gdb 中的栅格数据集

r - 如何仅从 gam.check 获取图

r - 在 R 中的 Dataframe 中的文本列上执行文本分析

R:在数据框中:将列中的第一个非 NA 值设置为 NA

r - 使用 R 在 randomForest 上执行交叉验证

javascript - 传单 - 将 map 置于标记中心、缩放并打开弹出窗口