dem_ecef_to_geodetic — DEM 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"))

Verwendung

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).

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_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

Typkompatible Folge-Operatoren (nehmen points als Eingabe)

dem_geodetic_from_enu

Gleiche Kategorie (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.