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.