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

如何实现sf多边形的精准裁剪?类比栅格crop+mask操作

矢量多边形的精准裁剪方案

针对矢量数据的精准裁剪(保留与目标边界相交的部分要素,而非完整要素),你需要用空间交集操作来替代st_crop,这相当于栅格数据中crop+mask组合操作的矢量版。

具体实现代码(基于sf包)

library(sf)

# 读取矢量数据
global_basins <- st_read("你的全球流域矢量文件路径.shp")
country_boundary <- st_read("你的国家边界矢量文件路径.shp")

# 关键:确保两个图层的坐标参考系(CRS)一致
if (!st_crs(global_basins) == st_crs(country_boundary)) {
  global_basins <- st_transform(global_basins, st_crs(country_boundary))
}

# 执行精准裁剪:保留流域与国家边界相交的部分
cropped_basins <- st_intersection(global_basins, country_boundary)

说明

  • st_intersection会计算两个矢量图层的空间交集,直接提取流域多边形中落在国家边界内的部分,完美贴合边界轮廓,而不是返回完整的流域要素。
  • 一定要先对齐CRS,否则空间运算会出错;如果原始数据CRS不同,用st_transform统一转换即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 19:51:29