-1
freq()を使用して、Rのラスタのピクセル値の頻度/カウントを計算しようとしています。 は比較のための2つの例ラスタを作成します。大きなラスタ周波数テーブル/カウント
library(raster)
RastSmall <- raster(nrow=70, ncol=70)
RastBig <- raster(nrow=7000, ncol=7000)
set.seed(0)
RastSmall[] <- round(runif(1:ncell(r_hr), 1, 5))
RastBig[] <- round(runif(1:ncell(r_hr), 1, 5))
は(FREQを使用して画素数を取得します)
freq(RastSmall)
value count
[1,] 1 6540000
[2,] 2 12150000
[3,] 3 12140000
[4,] 4 11720000
[5,] 5 6450000
をしかし、それはかなり大きなファイルであり、すなわち時間まで、非常に長い時間がかかります。 Rの方が速いの? ここでは小規模および大規模なラスタの速度差:
system.time(freq(RastSmall))
user system elapsed
0.008 0.000 0.004
system.time(freq(RastBig))
user system elapsed
40.484 0.964 41.445
はこれをスピードアップする方法はありますか?代わりに、これはgdalツールのようなものを使ってコマンドラインで行うことができますか?
[ask]を読んで、必要な[mcve]を投稿する。 –
例を追加しました。 – mace
私はあなたの質問が入力と出力とコードの間に何があるのか分からず、あなたのアルゴリズムがtransofrmationをするために何をすべきかを何も表示していませんが、今あなたは 'awk'タグを削除して、 'R'と答えれば、おそらく' R'エキスパートには完璧な意味があります。がんばろう! –