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

如何在R中用mapview和mapedit绘制矩形后为几何对象添加数值?

在R中用mapview/mapedit绘制矩形并添加自定义数值

核心思路

mapedit的editFeatures工具支持属性编辑,不仅能修改几何对象,还可以给每个绘制的矩形添加自定义数值字段。以下是两种实用方案:


方案一:绘制后可视化编辑属性(推荐)

先绘制矩形,再通过交互式界面给每个矩形输入特定数值:

# 加载依赖包
library(mapview)
library(mapedit)
library(sf)

# 打开地图绘制矩形(仅启用矩形绘制工具)
drawn_rects <- drawFeatures(
  map = mapview()@map,
  drawToolbar = drawToolbar(
    rectangle = TRUE,
    polyline = FALSE,
    polygon = FALSE,
    circle = FALSE,
    marker = FALSE
  )
)

# 打开属性编辑弹窗,添加"自定义数值"字段
edited_rects <- editFeatures(
  drawn_rects,
  attributes = list(
    custom_value = list(
      type = "numeric",
      label = "自定义数值",
      value = 0  # 设置默认值
    )
  )
)

# 查看带数值的矩形地图(按数值着色)
mapview(edited_rects, zcol = "custom_value")

编辑完成后,edited_rects是带custom_value字段的sf对象,后续可直接用于数据分析或可视化。


方案二:手动批量添加数值

如果已经知道每个矩形对应的数值,可直接给sf对象添加列:

# 绘制矩形
drawn_rects <- drawFeatures(map = mapview()@map, drawToolbar = drawToolbar(rectangle = TRUE))

# 按绘制顺序添加对应数值(示例:第一个矩形值15,第二个30,第三个22)
drawn_rects$custom_value <- c(15, 30, 22)

# 可视化
mapview(drawn_rects, zcol = "custom_value")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 06:42:16