====== std.geodesy.ellipsoid — Referenzellipsoide ====== ''import std.geodesy.ellipsoid;'' Das ellipsoidische Gegenstück zu [[lyx_-_programmiersprache:units:geo:sphere|std.geo.sphere]]: Referenzellipsoide mit ihren Kennzahlen und Krümmungsradien. → [[lyx_-_programmiersprache:units:geodesy|std.geodesy Übersicht]] · [[lyx_-_programmiersprache:units:geodesy:frames|std.geodesy.frames]] ---- ===== 1. Typ und fertige Ellipsoide ===== pub type Ellipsoid = struct { a: f64; f: f64; } // grosse Halbachse, Abplattung ^ Signatur ^ Ellipsoid ^ Verwendung ^ | ''EllWgs84(): Ellipsoid'' | a = 6378137, 1/f = 298.257223563 | GPS, weltweit — der Normalfall | | ''EllGrs80(): Ellipsoid'' | 1/f = 298.257222101 | ETRS89, amtliche Vermessung in Europa | | ''EllBessel1841(): Ellipsoid'' | a = 6377397.155 | ältere deutsche Katasterwerke (Gauß-Krüger) | | ''EllClarke1866(): Ellipsoid'' | a = 6378206.4 | NAD27, Nordamerika | | ''EllSphere(radius: f64): Ellipsoid'' | f = 0 | Kugel als Sonderfall — für Vergleichsrechnungen | ^ Signatur ^ Zweck ^ | ''EllNew(a: f64, f: f64): Ellipsoid'' | aus Halbachse und **Abplattung** | | ''EllFromInvF(a: f64, invF: f64): Ellipsoid'' | aus Halbachse und **Kehrwert** der Abplattung — so stehen die Werte in den Tabellen | **WGS84 und GRS80 unterscheiden sich erst in der neunten Stelle der Abplattung** — wenige Zehntelmillimeter. Bessel 1841 dagegen liegt um rund 740 m in der Halbachse daneben: wer Katasterkoordinaten ohne Datumsübergang als WGS84 liest, ist einige hundert Meter falsch. ---- ===== 2. Abgeleitete Kennzahlen ===== ^ Signatur ^ Zweck ^ | ''EllB(e: Ellipsoid): f64'' | kleine Halbachse ''b = a(1−f)'' | | ''EllE2(e: Ellipsoid): f64'' | erste numerische Exzentrizität im Quadrat | | ''EllEp2(e: Ellipsoid): f64'' | zweite Exzentrizität im Quadrat | ---- ===== 3. Krümmungsradien ===== ^ Signatur ^ Zweck ^ | ''EllN(e: Ellipsoid, latRad: f64): f64'' | **Querkrümmungsradius** (Normalkrümmung) — der Radius, den ''GeodToEcef'' braucht | | ''EllM(e: Ellipsoid, latRad: f64): f64'' | **Meridiankrümmungsradius** — Krümmung entlang des Meridians | | ''EllMeanRadius(e: Ellipsoid, latRad: f64): f64'' | mittlerer Radius an dieser Breite, ''√(M·N)'' | Beide Radien hängen von der **Breite** ab, und sie sind verschieden: am Äquator ist M kleiner als N, an den Polen sind beide gleich. Wer für eine Nord-Süd-Strecke mit N rechnet statt mit M, liegt in Mitteleuropa um rund 1 % daneben. ---- ===== 4. Meter je Grad ===== ^ Signatur ^ Zweck ^ | ''EllLatDegreeM(e: Ellipsoid, latRad: f64): f64'' | Länge eines **Breitengrades** in Metern | | ''EllLonDegreeM(e: Ellipsoid, latRad: f64): f64'' | Länge eines **Längengrades** in Metern | Auf 53,6° Nord (Hamburg) ergibt das mit WGS84: 1 Grad Breite: 111298.1 m 1 Grad Laenge: 66155.3 m **Der Längengrad ist dort nur noch 60 % so lang wie der Breitengrad.** Das ist der Grund, warum eine flache Rechnung mit gleich langen Grad-Schritten in Mitteleuropa um 40 % danebenliegt — und warum [[lyx_-_programmiersprache:units:geo|std.geo]] mit seinen Mikrograd nur für den Nahbereich taugt. ---- Letzte Aktualisierung: 2026-09-06 — Seite neu angelegt; erhoben aus ''std/geodesy/ellipsoid.lyx''.