从大型文件创建许多形状文件。

时间:2012-11-01 10:50:58

标签: r

我有一个带有两个不同区域的形状文件,每个区域有12个子区域。我想从这个形状文件中找到这24个子区域的单独形状文件。我也试过使用包maptools和rgeos但是无法想象它。任何对数将非常感激。感谢。

sharif

1 个答案:

答案 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)
   }