-1

それぞれ12のサブ領域を持つ2つの異なる領域を持つシェープファイルがあります。これらの24のサブ領域のシェープファイルをそのシェープファイルとは別にしたいです。パッケージmaptoolsとrgeosを使用して試しましたが、理解できませんでした。非常に高く評価。ありがとう。

シャリフ

4

1 に答える 1

1

対象の列の一意の値に基づいてデータをループに分割し、サブセットデータを書き出すことができます。maptoolsのleuでrgdalを使用していますが、シェープファイルの読み取り/書き込みにmaptools関数を使用するようにコードを簡単に変更できます。

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 に答える