surface opdepth → image2dimport 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 度・東回り。平坦なセルは :data: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)。py -3.11 examples/poc_dem_terrain.pypy -3.11 examples/poc_geodetic_height_frames.pyimage2d を入力に取れる)—
surface)dem_slope · dem_curvature · dem_roughness · dem_tpi
Provenance: demops.py — DEM operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.