surface op• 数据种类:depth → image2d
• 调用: import fullseye as fs; fs.ledger.dem_aspect(dem, cell_size, method='horn', flat_tol=1e-12)(要直接调用实现,import demops; demops.dem_aspect(dem, cell_size, method='horn', flat_tol=1e-12);从台账取用则 opsdem.get("dem_aspect"))
坡向 [度]。北为 0 度,向东旋转。平坦的格子单元为 ASPECT_FLAT。
平坦处不返回 0,是因为 0 会表示“朝北的斜坡” —— 返回无法区分的值,是不抛异常却出错的典型。
步骤:取与 dem_slope 相同的 3x3 梯度 (dz/dx, dz/dy),把下坡梯度的方向 atan2(-dz/dx, -dz/dy) 换算为度并折回到 [0, 360)。以第 0 行为北、列号增大的方向为东为前提,北 0 / 东 90 / 南 180 / 西 270。传入第 0 行为南的网格(上下翻转的数组)会使南北互换,且不会抛出异常。
• dem, cell_size, method:与 dem_slope 相同的约定(3x3 以上,nan 表示缺测,拒绝哨兵值,cell_size 为正的 [m])。
• flat_tol:梯度大小 hypot(dz/dx, dz/dy) [m/m] 不大于此值时视为平坦, 返回 ASPECT_FLAT(= -1.0)。默认值 1e-12 只覆盖“数值上严格平坦”。即使是整数高程的平地,也可能因微小梯度而得到坡向,因此最好明确给出有意义的阈值(例如 1e-3)。
• 返回值:(H, W) float64。[0, 360) 或 -1.0。nan 单元周围为 nan。
• 对坡向做直方图或求平均时,先去掉 -1(out >= 0)。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• poc_dem_terrain — py -3.11 examples/poc_dem_terrain.py
• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py
image2d 作为输入)—
surface)dem_slope · 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.