dem_tpi — DEM surface op

• 資料種類:depth → image2d

• 呼叫: import fullseye as fs; fs.ledger.dem_tpi(dem, cell_size=1.0)(要直接呼叫實作,import demops; demops.dem_tpi(dem, cell_size=1.0);從台帳取用則 opsdem.get("dem_tpi"))

用法

地形位置指數 TPI —— 本格子單元與 8 鄰域平均之差 [m]。正為山脊,負為山谷。

公式:tpi = z - mean(8 鄰域的 z)(以最小的 3x3 鄰域求取的 Weiss TPI)。邊緣以複製邊界值填補。鄰域固定為 1 個單元,所以尺度固定為 1 個 cell_size;想看更寬的山脊/山谷時,先把 dem 變粗(此 op 沒有半徑引數)。

• dem:(H, W) [m],3x3 以上,實數,不可含 inf。缺測以 nan(若存在哨兵值 <= -9000 而沒有 nan 則拒絕)。nan 會傳播到 3x3。

• cell_size:不影響結果(差分中不含距離),但為了讓呼叫端意識到單位是 [m] 而接收它,並檢查是否為正的有限值。

• 回傳值:(H, W) float64 [m]。0 附近為斜坡中段,正為凸(山脊、山頂), 負為凹(山谷、窪地)。

• 失敗:ValueError(形狀、哨兵值、cell_size)。

與 dem_roughness(同一鄰域的 RMS)組合可作為地形分類的特徵。

詳細使用指南

• dem_terrain_analysis 族使用指南

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• dem_terrain_analysis_tour — py -3.11 examples/dem_terrain_analysis_tour.py

型別可銜接的下一個運算子(可接受 image2d 作為輸入)

—

同類別(surface)

dem_slope · dem_aspect · dem_curvature · dem_roughness


*Provenance: demops.py — DEM 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.