2012-11-01 56 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

尊敬的埃文斯感謝您的優秀建議。它的工作非常好。 –