
【R】DEMデータからTPIを繰り返し計算し比較する
概要
TPIの計算方法です.検索半径をいくつか変えて比較します
必要なパッケージの読み込み
必要なパッケージを読み込む。
library(raster)
library(dplyr)
ラスタデータの読み込み
# ラスタデータの読み込み
r <- raster("path/to/file/dem.tif")
検索セル数(半径)の設定とTPIの計算
# 検索セル数
radius <- c(2,4,6,8,10)
for(i in radius) {
# 円形範囲
window <- focalWeight(r, (i * (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
# フォーカル統計(平均値を集計)
focal <- focal(r, w = window ,fun = mean , na.rm = TRUE)
# TPIの計算
TPI <- r - focal
assign(paste0("TPI_radius", i), TPI)
}
結果の確認
plot(r)

plot(TPI_radius2)

plot(TPI_radius4)

plot(TPI_radius6)

plot(TPI_radius8)

plot(TPI_radius10)
