我有一个带有两个不同区域的形状文件,每个区域有12个子区域。我想从这个形状文件中找到这24个子区域的单独形状文件。我也试过使用包maptools和rgeos但是无法想象它。任何对数将非常感激。感谢。
sharif
答案 0 :(得分:1)
您可以根据感兴趣列中的唯一值循环分割数据并写出子集数据。我在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)
}