Soldner Koordinatentransformation (Geodäsie/Vermessung)

Thalion, Friday, 30.05.2008, 11:10 (vor 6021 Tagen) @ MichaeL
bearbeitet von MichaeL, Friday, 30.05.2008, 11:23

Hallo Micha,

du brauchst zunächst diese 4 Merdianbogen-Koeffizienten alpha, beta, gamma und delta:

double a = _ellipsoid.AxisA * (1 - _ellipsoid.EccentricityPow2);
double ePow4 = Math.Pow(_ellipsoid.EccentricityPow2, 2);
double ePow6 = Math.Pow(_ellipsoid.EccentricityPow2, 3);
double ePow8 = Math.Pow(_ellipsoid.EccentricityPow2, 4);

_coefficients.Alpha = 0.017453292519943295769236907684886 * a * (1 + 0.75 * _ellipsoid.EccentricityPow2 + 0.703125 * ePow4 + 0.68359375 * ePow6 + 0.67291259765625 * ePow8);

_coefficients.Beta = 0.5 * a * (0.75 * _ellipsoid.EccentricityPow2 + 0.9375 * ePow4 + 1.025390625 * ePow6 + 1.07666015625 * ePow8);

_coefficients.Gamma = 0.25 * a * (0.234375 * ePow4 + 0.41015625 * ePow6 + 0.538330078125 * ePow8);

_coefficients.Delta = 0.16666666666666666666666666666667 * a * (0.068359375 * ePow6 + 0.15380859375 * ePow8);

Schaut schlimm aus, aber kopier diesen Teil (der stimmt 100%ig).

Dann kommt G0 (Meridianbogenlänge von Breite Ursprung dran):

double G0 = (_coefficients.Alpha * originLatitude.Degree - _coefficients.Beta * Math.Sin(2 * originLatitude.Radian) + _coefficients.Gamma * Math.Sin(4 * originLatitude.Radian) - _coefficients.Delta * Math.Sin(6 * originLatitude.Radian));

Vorsichtig, die Ursprungsbreite muss mal in Grad und mal in Radian angewendet werden.

Und nun kommt die Fußpunktsbreite dran (northing = G0 + x):

GAngle psi = new GAngle(northing / _coefficients.Alpha, GAngleMode.Degree);

double n = _ellipsoid.Flattening / (2 - _ellipsoid.Flattening);
double n3 = n * n * n;

GAngle bf = new GAngle(psi.Degree + (85.9436692696 * (n - 0.5625 * n3)) * Math.Sin(2 * psi.Radian) + (75.2007106107 * n * n) * Math.Sin(4 * psi.Radian) + (90.1214865257 * n3) * Math.Sin(6 * psi.Radian), GAngleMode.Degree);

Ich hoffe, du kannst diese Formeln einfach einsetzen. Ich bin sicher, dass meine Fußpunktbreite korrekt ausgerechnet wird, da sie auch erfolgreich bei Gauß-Krüger-Koordinaten eingesetzt werden und da gibt es eine wunderbare Übereinstimmung meiner Ergebnisse mit denen von TransDat.

Lg,
Robert


gesamter Thread:

 RSS-Feed dieser Diskussion