如何将分组坐标列表转换为SF Multipolygon格式文件
R语言坐标列表转sf格式Multipolygon方法
1. 依赖包安装与加载
你需要先安装并加载sf和dplyr两个工具包:
# 首次使用先安装 install.packages(c("sf", "dplyr")) # 加载包 library(sf) library(dplyr)
2. 转换代码
直接执行以下代码即可完成转换,代码完全兼容你提供的newdata数据结构:
# 按.id分组将坐标转为POLYGON类型的sf对象,每个多边形对应一行数据 sf_polygon <- newdata %>% group_by(.id) %>% summarise( geometry = st_sfc(st_polygon(list(cbind(V1, V2)))) ) %>% st_sf() # 如需合并为单个Multipolygon对象,执行以下代码 sf_multipolygon <- sf_polygon %>% st_union() %>% st_sf(geometry = .)
3. 常用后续操作
- 结果校验:执行
st_geometry_type(sf_polygon)可确认几何类型,nrow(sf_polygon)可确认多边形数量为941 - 坐标系设置:可通过
st_crs(sf_multipolygon) <- 对应EPSG代码赋值坐标系,比如WGS84对应EPSG:4326,CGCS2000对应EPSG:4490 - 导出空间文件:执行
st_write(sf_multipolygon, "多边形结果.gpkg")可导出为GIS通用的GeoPackage格式,也可将后缀改为.shp导出为Shapefile格式
注:你的数据中每个多边形的坐标首尾已经重合,符合多边形闭合要求,无需额外处理
内容的提问来源于stack exchange,提问作者TreausreDragon
相关产品推荐
相关产品推荐

