![見出し画像](https://assets.st-note.com/production/uploads/images/113923597/rectangle_large_type_2_2a1f3c6e664c6953de1b39fcf3f9f07f.png?width=1200)
【R】focal統計をRで実行する
概要
GRASSのr.neighbourをつかわずにRでやる方法のメモです.
必要なパッケージの読み込み
必要なパッケージを読み込む。
library(raster)
library(dplyr)
ラスタデータの読み込み
# ラスタデータの読み込み
ras <- raster("path/to/file/dem.tif")
検索セル数(半径)の設定とタイプ(円形,長方形)の設定
# 検索セル数
radius <- 100
# 円形範囲
window <- focalWeight(r, (radius * (res(r)[1] + 0.00001)), type='circle', fillNA = T)
# 四角形範囲の場合
#window <- focalWeight(r, (radius * (res(r)[1] )), type='rectangle', fillNA = T)
# 重みづけなし
window[window[]>0] <- 1
# 集計ウィンドウの確認
window
フォーカル統計(半径100セル,円形で実施)
# フォーカル統計(平均値を集計)
focal <- focal(r, w = window ,fun = mean , na.rm = TRUE)
データの確認
plot(r, main = "DEM")
![](https://assets.st-note.com/img/1692595739010-BUfdvtuEib.png?width=1200)
plot(focal, main = "DEM focal circlar radius 100")
![](https://assets.st-note.com/img/1692595738778-WvbBFuYiPZ.png?width=1200)
tifファイルとして保存
writeRaster(focal, "path/to/file/dem_focal.tif", datatype = "FLT4S", overwrite = T)
この記事が気に入ったらサポートをしてみませんか?