dem_slope — DEM surface op

• Datenarten: depth → image2d

• Aufruf: import fullseye as fs; fs.ledger.dem_slope(dem, cell_size, method='horn', units='degrees') (die Implementierung direkt: import demops; demops.dem_slope(dem, cell_size, method='horn', units='degrees'); aus dem Register: opsdem.get("dem_slope"))

Verwendung

Neigungswinkel. units ist "degrees" / "radians" / "percent".

Auf einer Ebene stimmt es mit der geschlossenen Form atan(|grad|) überein (gemessen 1e-13 oder weniger).

Ablauf: aus der 3x3-Nachbarschaft dz/dx (nach Osten) und dz/dy (nach Norden = Richtung abnehmender Zeile) bestimmen, dann g = hypot(dz/dx, dz/dy). "degrees" liefert atan(g) in Grad, "radians" in Radiant, "percent" liefert 100 g (45 Grad = 100 %). Ränder werden durch Kopieren der Randwerte aufgefüllt (pad mode="edge"), daher fällt die äußerste 1 Zelle flacher aus als das Innere.

• dem: (H, W)-Höhen [m], mindestens 3x3, reell, kein inf. Fehlwerte als nan übergeben ―― stehen Sentinel-Werte wie -9999 unverändert darin (<= -9000 vorhanden und kein nan), wird abgelehnt. nan breitet sich über den 3x3-Bereich aus.

• cell_size: Zellkantenlänge [m], positiv und endlich. bool / Strings werden abgelehnt. Für Lat/Lon-Gitter stattdessen dem_geodetic_slope verwenden.

• method: "horn" (gewichtete 3x3-Differenz nach Horn 1981, Default) / "central" (zentrale Differenz nach Zevenbergen–Thorne).

• Rückgabewert: (H, W) float64. degrees liegt in [0, 90).

• Alle Fehler sind ValueError (Form, Sentinel-Werte, cell_size, Auswahl).

Wird zusammen mit dem_aspect verwendet. dem_hillshade erzeugt aus diesen 2 die Schummerung.

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)

• dem_geodesy_tour — py -3.11 examples/dem_geodesy_tour.py

• poc_crop_phenotyping — py -3.11 examples/poc_crop_phenotyping.py

• poc_dem_terrain — py -3.11 examples/poc_dem_terrain.py

• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py

• poc_lidar_terrain_change — py -3.11 examples/poc_lidar_terrain_change.py

• poc_multibeam_bathymetry — py -3.11 examples/poc_multibeam_bathymetry.py

• poc_stockpile_volume — py -3.11 examples/poc_stockpile_volume.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

—

Gleiche Kategorie (surface)

dem_aspect · 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.