dem_slope — DEM surface op

• 数据种类:depth → image2d

• 调用: import fullseye as fs; fs.ledger.dem_slope(dem, cell_size, method='horn', units='degrees')(要直接调用实现,import demops; demops.dem_slope(dem, cell_size, method='horn', units='degrees');从台账取用则 opsdem.get("dem_slope"))

用法

坡度角。units 为 "degrees" / "radians" / "percent"。

对平面与闭式 atan(|grad|) 一致(实测 1e-13 以下)。

步骤:从 3x3 邻域取 dz/dx(朝东)和 dz/dy(朝北 = 行号减小的方向), 得 g = hypot(dz/dx, dz/dy)。"degrees" 以度为单位给出 atan(g), "radians" 为弧度,"percent" 为 100 g(45 度 = 100 %)。边缘用复制边界值填充(pad mode="edge"),因此最外圈 1 个单元比内侧偏缓。

• dem:(H, W) 的高程 [m],3x3 以上,实数,不可含 inf。缺测用 nan 传入 ―― 若 -9999 之类的哨兵值原样留在其中(存在 <= -9000 且没有 nan)则拒绝。nan 会传播到 3x3 范围。

• cell_size:单元边长 [m],正的有限值。拒绝 bool / 字符串。经纬度网格请改用 dem_geodetic_slope。

• method:"horn"(Horn 1981 的 3x3 加权差分,默认)/ "central" (Zevenbergen–Thorne 的中心差分)。

• 返回值:(H, W) float64。degrees 在 [0, 90) 内。

• 所有失败均为 ValueError(形状、哨兵值、cell_size、选项)。

与 dem_aspect 配对使用。dem_hillshade 由这 2 者生成地形晕渲。

详细使用指南

• dem_terrain_analysis 族使用指南

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

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

可运行的示例(实际调用该算子并已验证的样例)

• dem_geodesy_tour — py -3.11 examples/dem_geodesy_tour.py

• poc_crop_phenotyping — py -3.11 examples/poc_crop_phenotyping.py

• poc_dem_terrain — py -3.11 examples/poc_dem_terrain.py

• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py

• poc_lidar_terrain_change — py -3.11 examples/poc_lidar_terrain_change.py

• poc_multibeam_bathymetry — py -3.11 examples/poc_multibeam_bathymetry.py

• poc_stockpile_volume — py -3.11 examples/poc_stockpile_volume.py

类型可衔接的下一个算子(可接受 image2d 作为输入)

—

同类别(surface)

dem_aspect · dem_curvature · dem_roughness · dem_tpi


*Provenance: demops.py — DEM 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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