我正在尝试创建一个多边形网格来在传单中绘制,但遇到了一个我似乎无法弄清楚的错误:
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? :)
关于r - 将生成的多边形网格绘制到传单上的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72724100/