Inhaltsverzeichnis

std.geodesy.ellipsoid — Referenzellipsoide

import std.geodesy.ellipsoid;

Das ellipsoidische Gegenstück zu std.geo.sphere: Referenzellipsoide mit ihren Kennzahlen und Krümmungsradien.

std.geodesy Übersicht · 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 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.