0
ラスタイメージのシリーズを持つループがあり、150の値を抽出してから、ループの全長の合計ピクセル数を加算したいとします。コードでは、私は各画像の合計値を個別に取得し、全体の形式では取得できませんでした。ありがとうラスタシリーズの合計
m=52419 #total pixels basin
for(i in 1:4){
b1<-raster(myras1[i])
bc = b1 == 150 #Values eq 150
nbc = cellStats(bc,stat="sum")
print(nbc)
[1] 34962
[1] 38729
[1] 52389
[1] 52176
pc=nbc*100/m
}
それが正常に動作しますが、それはあまりにも多くのスティック5000枚の層で、より速くそれを作るためにどのような方法がありますか?おかげで – tmsppc
非常に大きなスタックの計算は常に遅くなるでしょう。私はあなたがどのようにスピードブーストを得るのか分かりません。おそらく、スタックではなくラスターレンガを使用すると、いくらか改善されるでしょう。これをバッチ処理として実行することはできないのですか?最高の速度を得るには、RではなくFORTRANを使用することができますが、開発時間の投資は、Rが結果を膨らませるのを待つよりもずっと時間がかかります。または、クラウドコンピューティングプラットフォームでマルチコアの時間を購入して計算を実行することもできます。クラウドコンピューティングは合理的な価格です。 – dww