私は年の異なる週を表す26のレイヤーを持つラスタースタックを持っています。この領域には、854個の不規則な形状のポリゴンがあり、各レイヤーの要約値(平均とsd)に関心があります。Raster Stackの各レイヤーのポリゴン間の値の要約 - シェープファイルと値をマージする方法は?
私はこれらの値を正常に抽出したと信じています。しかし、それらをポリゴンファイルにマージしようとすると、私はうまくいかない。私はextract()
関数がその識別基準(Name_2)の値を取り除いたと考えています。私はextract()
関数からの "大きなリスト"の出力をデータフレームに変換しようとしましたが、それもうまくいきませんでした。
提案がありますか?
ありがとうございます。私はポリゴンをラスタライズではなくextract()
を使用することを好むこの種の計算のために
Brazil0 <- getData('GADM', country='BRA', level=0)
Brazil1 <- getData('GADM', country='BRA', level=1)
Brazil2 <- getData('GADM', country='BRA', level=2)
MinasGerais<-subset(Brazil2, NAME_1 =='Minas Gerais')
e <- extent(MinasGerais)
MG <- as(Brazil2[Brazil2$NAME_1 == 'Minas Gerais',], 'SpatialPolygons')
row.names(MG) <- as.character(1:length(MG))
setwd("H:/Brazilian Arbovirus Project/ratsers_EpiWeek")
Precip_2017 <- stack("Precip_2017.tif")
Precip_crop <- crop(Precip_2017, e, snap="out")
crop<- setValues(Precip_crop, NA)
Precip_raster <- rasterize(MinasGerais, crop)
Precip_MG<- mask(x=Precip_crop, mask=Precip_raster)
MG_Municip_mean_2 <- extract(Precip_MG,
MG,
method='simple',
match.ID=FALSE,
FUN=mean,
#sp=TRUE,
small=TRUE)
output=data.frame(MG_Municip_mean_2)
MG_1 <- merge(MinasGerais, MG_Municip_mean_2, by='NAME_2', all=TRUE)
writeOGR(MG_1, getwd(), "MG_Municipalities", driver="ESRI Shapefile",
check_exists=TRUE,
overwrite_layer=TRUE)
あなたは「あなたがこれらの値を抽出していると考えている」と言うとき、あなたはコードをデバッグすることによってこれを確認しています、またはあなたはちょうどそれが動作すると仮定していますか? – FluffyKitten
dput(Precip_2017)を使用していくつかのサンプルデータを追加できますか?同様のデータを作成しますか?どのパッケージを使用していますか? – minem