surface op• Data kinds: depth → image2d
• Call: import fullseye as fs; fs.ledger.dem_aspect(dem, cell_size, method='horn', flat_tol=1e-12) (implementation को सीधे call करना हो तो import demops; demops.dem_aspect(dem, cell_size, method='horn', flat_tol=1e-12), registry से लेना हो तो opsdem.get("dem_aspect"))
slope aspect [degree]। उत्तर 0 degree, पूर्व की ओर बढ़ता। समतल cell को ASPECT_FLAT मिलता है।
समतल cells को 0 के रूप में नहीं लौटाया जाता क्योंकि 0 का अर्थ "उत्तर की ओर मुख वाली slope" होगा —— अलग न पहचाना जा सकने वाला मान लौटाना बिना error उठाए गलत होने का पाठ्यपुस्तकीय उदाहरण है।
प्रक्रिया: dem_slope के समान 3x3 gradient (dz/dx, dz/dy) लें, ढलान की ओर के gradient की दिशा atan2(-dz/dx, -dz/dy) को degrees में बदलें और [0, 360) में wrap करें। मान लिया जाता है कि row 0 उत्तर है और column बढ़ने की दिशा पूर्व है: उत्तर 0 / पूर्व 90 / दक्षिण 180 / पश्चिम 270। ऐसा grid पास करने पर जिसकी row 0 दक्षिण है (ऊर्ध्वाधर रूप से उलटा array) उत्तर और दक्षिण बदल जाते हैं, और कोई exception नहीं उठता।
• dem, cell_size, method: dem_slope के समान contract (3x3 या बड़ा, missing data के लिए nan, sentinel मान अस्वीकार, cell_size धनात्मक [m])।
• flat_tol: यदि gradient magnitude hypot(dz/dx, dz/dy) [m/m] इसके बराबर या कम है, तो cell को समतल माना जाता है और ASPECT_FLAT (= -1.0) लौटाया जाता है। डिफ़ॉल्ट 1e-12 केवल "संख्यात्मक रूप से पूर्णतः समतल" को कवर करता है। integer ऊँचाइयों वाली समतल भूमि को भी सूक्ष्म gradients से aspect मिल सकता है, इसलिए एक सार्थक threshold (उदा. 1e-3) स्पष्ट रूप से बताना उचित है।
• return value: (H, W) float64। [0, 360) या -1.0। nan cells के आसपास nan।
• aspects का histogram या mean लेते समय पहले -1 हटाएँ (out >= 0)।
• dem_terrain_analysis family guide
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_dem_terrain — py -3.11 examples/poc_dem_terrain.py
• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py
image2d को input के रूप में लेते हैं)—
surface)dem_slope · dem_curvature · dem_roughness · dem_tpi
*Provenance: demops.py — DEM operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.