You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言leaflet绘制生成的多边形网格时addPolygons报错如何解决

报错原因

核心是参数传递匹配错误:
%>%管道符会将前一步输出的地图实例,自动传入下一个函数的第一个形参(即addPolygons的map参数)。而addPolygons的参数顺序为:
addPolygons(map, lng = NULL, lat = NULL, ..., data = getMapData(map))
代码中写的addPolygons(p),会把多边形对象p匹配到第二个形参lng(经度参数)上,但没有传入对应的lat(纬度)参数,因此触发报错:addPolygons must be called with both lng and lat, or with neither.

修复方案

显式将多边形对象传入data参数即可,不要按位置隐式传参,修正后的可运行代码:

library(leaflet)
library(raster)
library(sf)
# 注: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)

运行后即可在底图上正常渲染10*10的多边形网格,后续如果需要设置填充色、边框、弹窗等样式,直接在addPolygons内追加对应参数即可。

内容的提问来源于stack exchange,提问作者metamorporpoise

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:42:32