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)组合可作为地形分类的特征。
• 示例数据目录(下载 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.