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

R语言实现ArcGIS Dissolve功能 按FRU字段合并shapefile要素

R实现按指定字段合并矢量要素操作

下面是完整可运行的代码逻辑,基于R的空间数据处理标准包sf实现:

步骤1:安装/加载依赖包

# 首次使用先安装包,安装过可以注释掉这行
install.packages("sf")
# 加载sf包
library(sf)
# 如果需要用到管道符可以加载dplyr,不用可以跳过
library(dplyr)

步骤2:读取原始shapefile

# 替换括号内的路径为你本地shp文件的实际路径
shp_raw <- st_read("your_input_path/input_file.shp")

读取后可以先执行unique(shp_raw$FRU)验证FRU的唯一值确实为61个,符合预期。

步骤3:按FRU字段聚合几何要素

提供两种写法,效果完全一致:

  • 基于dplyr管道符的写法(可读性更高)
shp_agg <- shp_raw %>% 
  group_by(FRU) %>% 
  summarise(
    # 合并同一FRU下的所有几何要素,加st_make_valid处理可能存在的无效几何
    geometry = st_union(geometry) %>% st_make_valid()
  )
  • 基于sf原生函数的写法(无需依赖dplyr)
shp_agg <- aggregate(
  x = shp_raw["geometry"],
  by = list(FRU = shp_raw$FRU),
  FUN = function(x) st_union(x) %>% st_make_valid()
)

聚合完成后执行nrow(shp_agg)可验证行数为61,符合需求。

步骤4:导出聚合后的shapefile

# 替换括号内的路径为你需要保存的输出路径
st_write(shp_agg, "your_output_path/aggregated_output.shp", delete_layer = TRUE)

补充说明:delete_layer = TRUE参数用于自动覆盖目标路径下的同名文件,不需要覆盖可以删除该参数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:09:03