dem_horizon_angle — DEM visibility op

• Data kinds: depth → image2d

• Call: import fullseye as fs; fs.ledger.dem_horizon_angle(dem, cell_size, azimuth_deg, max_distance_m=None) (to call the implementation directly, import demops; demops.dem_horizon_angle(dem, cell_size, azimuth_deg, max_distance_m=None); from the registry, opsdem.get("dem_horizon_angle"))

Usage

Horizon elevation angle in a given azimuth [degrees]. 0 is horizontal; 90 means the sky straight above is blocked.

From each cell a line of sight is advanced in the direction azimuth_deg, and the maximum of atan((z_j - z_0)/d) is returned. Groundwork for cast shadows, sunshine duration and sky view factor.

Detailed usage guide

• dem_terrain_analysis family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• dem_terrain_analysis_tour — py -3.11 examples/dem_terrain_analysis_tour.py

Ops the type connects to (they accept image2d as input)

—

Same category (visibility)

dem_sky_view_factor · dem_viewshed


*Provenance: demops.py — DEM operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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