2012-11-01 55 views
-1

我有一个形状文件,每个区域有两个不同的区域,每个区域有12个子区域。我想要从这个形状文件中分离出这24个子区域的独立形状文件。我也尝试过使用包maptools和rgeos,但是无法计算出它。任何对数将非常感激。谢谢。从大型文件中创建许多形状文件。

谢里夫

+1

请向我们提供您已经尝试过的R代码,最好能够重现到您卡住的位置。 “无法弄清楚”的含义很模糊。 –

回答

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([email protected]$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) 
    } 
+0

尊敬的埃文斯感谢您的优秀建议。它的工作非常好。 –