sf::st_combine生成带洞MULTIPOLYGON的解决方法问询
解决sf多边形合并后出现孔洞的问题
- 问题根源:
sf::st_combine()仅将多个多边形简单拼接为多多边形对象,不处理拓扑关系,重叠区域会形成视觉上的孔洞(本质是拓扑冲突导致的内部空隙)。 - 修复方案:使用
sf::st_union()替代st_combine(),它会自动执行拓扑合并,融合重叠区域,消除不必要的孔洞:
# 替换合并逻辑 walktime2 <- sf::st_union(walktime) # 验证结果类型 class(walktime2)
- 补充说明:如果需要保留原数据的属性字段,可结合
dplyr按字段分组后合并:
library(dplyr) walktime2 <- walktime %>% group_by(你的分组字段) %>% # 替换为实际分组列名 summarise(geometry = st_union(geometry), .groups = "drop")
内容的提问来源于stack exchange,提问作者Volker Holzendorf
相关产品推荐
相关产品推荐

