geodesy op• Datenarten: points → points
• Aufruf: import fullseye as fs; fs.ledger.dem_ecef_to_geodetic(xyz) (die Implementierung direkt: import demops; demops.dem_ecef_to_geodetic(xyz); aus dem Register: opsdem.get("dem_ecef_to_geodetic"))
ECEF → geodätische Koordinaten. Rückgabe ist (..., 3) mit (Breite[Grad], Länge[Grad], Höhe[m]).
Ein Verfahren nahe der geschlossenen Form von Bowring (1976). Der Hin-und-zurück-Fehler (geodätisch→ECEF→geodätisch) verschiebt sich je nach Stichprobenort um mehr als eine Größenordnung, daher wird er mit Bereichen angegeben (neu gemessen 2026-09-08. Früher stand hier "Breite/Länge unter 1e-12 Grad, Höhe unter 1e-7 m", aber ★bei 4000 Punkten mit Breite ±85 Grad und Höhe -500 bis 9000 m war das bereits mit maximal 6.4e-12 Grad / 8.5e-07 m überschritten —— verwechselt mit dem Median 2.6e-13 Grad / 3.3e-08 m):
• Breite ±85 Grad, Höhe -500 bis 9000 m ... Breite Median 2.6e-13 / max. 6.4e-12 Grad, Höhe Median 3.3e-08 / max. 8.5e-07 m
• Breite ±89.9 Grad, Höhe -11 km bis 40 km ... Breite Median 2.9e-12 / max. 1.3e-10 Grad, Höhe Median 3.5e-07 / max. 1.7e-05 m (zu den Polen hin 20-mal schlechter)
Die Länge liegt in beiden Fällen bei maximal 2.8e-14 Grad. Alles liegt am Boden unter einem µm und kann praktisch als "Fehlerboden" gelten, aber den Median nicht als Maximum zitieren.
Wer nur geozentrische Kugelkoordinaten braucht, kommt mit r = |xyz| und geocentric_lat = asin(z/r) aus —— das ist aber nicht die geodätische Breite (beide weichen um bis zu 0.19 Grad ab, als Strecke etwa 21 km). Dieser op liefert die geodätische Breite, wie Karten und GPS.
★In der Nähe des Erdmittelpunkts wird fail-closed abgelehnt (2026-09-08, von poc_geodetic_height_frames getroffen). Innerhalb der Evolute des Ellipsoids (a·p)^(2/3) + (b·|z|)^(2/3) < (a²-b²)^(2/3) ist die von der Ellipsoidfläche errichtete Normale nicht eindeutig, und die geodätische Breite ist von vornherein nicht eindeutig. Bis dahin wurde hier stillschweigend lat = 180 Grad zurückgegeben —— ein Wert, der als Breite nicht existiert, und obendrein einer, den die eigene Umkehrfunktion dem_geodetic_to_ecef mit "lat_deg must be within [-90, 90]" ablehnt. Der Bereich reicht in der Äquatorebene von der Achse bis e²a = 42697.7 m, auf der Polachse bis (a²-b²)/b = 42841.3 m (gemessen: bei 42600 m 180 Grad, bei 42700 m 0 Grad —— genau übereinstimmend mit der Grenze aus der geschlossenen Form).
• 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_geodetic_benchmarks_real — py -3.11 examples/poc_geodetic_benchmarks_real.py
• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py
points als Eingabe)geodesy)dem_geodetic_to_ecef · dem_geocentric_grid · dem_earth_curvature_drop · dem_cell_size_webmercator · dem_geodetic_slope · dem_geoid_height · dem_height_frame_convert · dem_height_frame_residual
*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.