dem_aspect — DEM surface op

• Datenarten: depth → image2d

• Aufruf: import fullseye as fs; fs.ledger.dem_aspect(dem, cell_size, method='horn', flat_tol=1e-12) (die Implementierung direkt: import demops; demops.dem_aspect(dem, cell_size, method='horn', flat_tol=1e-12); aus dem Register: opsdem.get("dem_aspect"))

Verwendung

Hangexposition [Grad]. Norden 0 Grad, nach Osten zunehmend. Flache Zellen erhalten ASPECT_FLAT.

Ebene Zellen werden nicht als 0 zurückgegeben, weil 0 "nach Norden geneigter Hang" bedeuten würde —— einen nicht unterscheidbaren Wert zurückzugeben ist der typische Fall, falsch zu liegen ohne Exception.

Ablauf: denselben 3x3-Gradienten (dz/dx, dz/dy) wie dem_slope bestimmen, die Richtung des Gefälles atan2(-dz/dx, -dz/dy) in Grad umrechnen und auf [0, 360) falten. Unter der Annahme, dass Zeile 0 Norden und die Richtung zunehmender Spalte Osten ist: Nord 0 / Ost 90 / Süd 180 / West 270. Übergibt man ein Gitter mit Zeile 0 im Süden (vertikal gespiegeltes Array), werden Nord und Süd vertauscht, und es wird keine Exception ausgelöst.

• dem, cell_size, method: gleicher Vertrag wie dem_slope (mindestens 3x3, nan für Fehlwerte, Sentinel-Werte abgelehnt, cell_size positiv [m]).

• flat_tol: ist der Gradientenbetrag hypot(dz/dx, dz/dy) [m/m] höchstens so groß, gilt die Zelle als eben und ASPECT_FLAT (= -1.0) wird zurückgegeben. Der Default 1e-12 erfasst nur "numerisch exakt eben". Auch ebenes Land mit ganzzahligen Höhen kann durch winzige Gradienten eine Exposition erhalten, daher besser einen sinnvollen Schwellwert (z. B. 1e-3) explizit angeben.

• Rückgabewert: (H, W) float64. [0, 360) oder -1.0. Um nan-Zellen herum nan.

• Für Histogramme oder Mittelwerte der Exposition -1 zuerst entfernen (out >= 0).

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie dem_terrain_analysis

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_dem_terrain — py -3.11 examples/poc_dem_terrain.py

• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

—

Gleiche Kategorie (surface)

dem_slope · dem_curvature · dem_roughness · dem_tpi


*Provenance: demops.py — DEM Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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