-1

我有一个带有两个不同区域的形状文件,每个区域有 12 个子区域。我想要从该形状文件中分离出这 24 个子区域的形状文件。我也尝试过使用包 maptools 和 rgeos 但无法计算出来。任何对数都是非常感谢。谢谢。

谢里夫

4

1 回答 1

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)
   }
于 2012-11-01T15:59:10.523 回答