いくつかのラスター モザイクを作成する必要があります。64 ビット Windows コンピューターでパッケージ ラスター バージョン 2.0-31 を使用しています。可能性のあるすべてのブログをチェックし、何人かの同僚にこの質問をする宿題をしたと思いますが、まだ解決策を見つけることができません.
私が抱えている問題は、グリッドがラスター オブジェクトにリストされている場合、モザイクを作成できないことです。私はこの例を見つけましたが、適用できましたが、奇妙なエラーメッセージが表示されました。以下の例は、私の問題を表しています。
r <- raster()
r1 <- crop(r, extent(-10, 10, -10, 10))
r2 <- crop(r, extent(0, 20, 0, 20))
r3 <- crop(r, extent(10, 30, 10, 30))
r1[] <- 1:ncell(r1)
r2[] <- 1:ncell(r2)
r3[] <- 1:ncell(r3)
rasters1 <- list(r1, r2, r3)
mos <- mosaic(rasters1,fun=mean)
これは私が得るエラーです:
関数 (classes、fdef、mtable) のエラー: シグネチャ '"list"、"missing"' の関数 'mosaic' の継承されたメソッドが見つかりません</p>
hereで提案されている機能も試しましたが、どちらも機能しませんでした。
fmerge <- function(rasters1, fun, ...){
ex <- raster(union(rasters1))
res(ex) <- res(rasters1[[1]])
for( i in 1:length(rasters1) )
rasters[[i]] <- merge(rasters1[[i]], ex)
rasters <- stack(rasters1)
fun(rasters1, ...)
}
rfm <- fmerge(rasters1, mean, na.rm=T)
これはエラーメッセージです:
raster(union(raster1)) のエラー: 関数 'raster' のメソッドを選択する際に引数 'x' を評価する際のエラー: as.vector(y) のエラー: 引数 "y" が欠落しており、デフォルトはありません