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"))
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.
• Leitfaden zur Familie dem_terrain_analysis
• 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.
• 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
image2d als Eingabe)—
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.