我有一个带有两个不同区域的形状文件,每个区域有 12 个子区域。我想要从该形状文件中分离出这 24 个子区域的形状文件。我也尝试过使用包 maptools 和 rgeos 但无法计算出来。任何对数都是非常感谢。谢谢。
谢里夫
我有一个带有两个不同区域的形状文件,每个区域有 12 个子区域。我想要从该形状文件中分离出这 24 个子区域的形状文件。我也尝试过使用包 maptools 和 rgeos 但无法计算出来。任何对数都是非常感谢。谢谢。
谢里夫
您可以根据感兴趣列中的唯一值循环拆分数据并写出子集数据。我在 maptools 的 leu 中使用 rgdal,但您可以轻松更改代码以使用 maptools 函数来读取/写入 shapefile。
require(sp)
require(rgdal)
# READ SHAPEFILE
dat <- readOGR("C:/DATA", "dat")
# CREATE VECTOR OF UNIQUE SUBREGION VALUES
y <- unique(dat@data$SUBREGIONS)
# CREATE SHAPEFILE FOR EACH SUBREGION AND WRITE OUT
for (i in 1:length(y) ) {
temp <- dat[dat$SUBREGIONS == y[i], ]
writeOGR(temp, dsn=getwd(), y[i], driver="ESRI Shapefile",
overwrite_layer=TRUE)
}