GK-Koordinaten in Länge und Breite umrechnen in C# (Geodäsie/Vermessung)
Hallo zusammen
ich bin neu und entschuld mich wenn ich noch Fragen stelle die für viele selbstverständlich sind.
Ich benötige ein kleines Programm das mir GK-Koordinaten in Länge und Breite umrechnet.
habe in meinen alten Unterlagen noch ein paar Formeln gefunden und diese auch umgesetzt jedoch komme ich nicht auf die richtige Ergebnisse. Vielleicht kann mir jemand da weiter helfen. Ich bin auch für andere Lösungen offen. es ist schon ein bisschen her als ich damit aktiv zu tun hatte.
Mein Code bis jetzt
private MyPunkt2D berechnung(double x, double y) { string breite= ""; string länge= ""; double roh = 180 / Math.PI; // Besselellipsoid double halbachse = 6377397.155; // große Halbachse in Meter double f = 1/299.152813; // Abplattung double lh = 9; // Hauptmeridian double mh = 1; // start Berechnungen // Vorberechnungen double g = x / mh; double b = halbachse - (f - halbachse); double e2 = (Math.Pow (halbachse,2) - Math.Pow(b,2)) / (Math.Pow(halbachse,2)); double e_strich = Math.Sqrt((Math.Pow(halbachse,2) - Math.Pow(b,2)) / (Math.Pow(b,2))); double c = Math.Pow(halbachse,2) / b; double e0 = c * (1 - 3 / 4 * Math.Pow(e_strich, 2) + 45 / 64 * Math.Pow(e_strich, 4) - 175 / 256 * Math.Pow(e_strich, 6) + 11025 / 16384 * Math.Pow(e_strich, 8)); double f2 = 3 / 8 * Math.Pow(e_strich, 2) - 3 / 16 * Math.Pow(e_strich, 4) + 213 / 2048 * Math.Pow(e_strich, 6); double f4 = 21 / 256 * Math.Pow(e_strich, 4) - 21 / 256 * Math.Pow(e_strich, 6); double f6 = 151 / 6144 * Math.Pow(e_strich, 6); double a = g / e0; double bf = a + f2 * Math.Sin(2 * a) + f4 * Math.Sin(4 * a) + f6 * Math.Sin(6 * a); double tf = Math.Tan(bf); double nf2 = Math.Pow(e_strich, 2) * Math.Pow(Math.Cos(bf), 2); double rnf = a / (Math.Sqrt(1 - e2 * Math.Pow(Math.Sin(bf), 2))); double b2 = -(tf*(1+nf2))/(2*Math.Pow(mh,2)*Math.Pow(rnf,2)); double b4 = (tf * (5 + 3 * Math.Pow(tf, 2) + 6 * nf2 * (1 - Math.Pow(tf, 2)))) / (24 * Math.Pow(mh, 4) * Math.Pow(rnf, 4)); double b6 = -(tf * (61+ 90 * Math.Pow(tf, 2) + 45* Math.Pow(tf, 4))) / (720 * Math.Pow(mh, 6) * Math.Pow(rnf, 6)); double l1 = 1 / (rnf * mh * Math.Cos(bf)); double l3 = -(1 + 2 * Math.Pow(tf, 2) + nf2) / (6 * Math.Pow(mh, 3) * Math.Pow(rnf, 3) * Math.Cos(bf)); double l5 = (5 + 28 * Math.Pow(tf, 2) + 24 * Math.Pow(tf, 4)) / (120 * Math.Pow(mh, 5) * Math.Pow(rnf, 5) * Math.Cos(bf)); // Berechnung länge und Breite double breite_dezimal = bf + b2 * Math.Pow(y, 2) + b4 * Math.Pow(y, 4) + b6 * Math.Pow(y, 6); double länge_dezimal = lh + l1 * Math.Pow(y, 1) + l3 * Math.Pow(y, 3) + l5 * Math.Pow(y, 5); int breite_grad = Convert.ToInt16(breite_dezimal); int breite_minute = Convert.ToInt16(((breite_dezimal-Convert.ToDouble(breite_grad))*100*0.6)); int breite_sekunde = Convert.ToInt16(((((breite_dezimal-Convert.ToDouble(breite_grad))*100*0.6)-Convert.ToDouble(breite_minute))*100*0.6)); breite += Convert.ToString(breite_grad) + "°" + Convert.ToString(breite_minute) + "'" + Convert.ToString(breite_sekunde) + "''"; int länge_grad = Convert.ToInt16(länge_dezimal); int länge_minute = Convert.ToInt16(((länge_dezimal - Convert.ToDouble(länge_grad)) * 100 * 0.6)); int länge_sekunde = Convert.ToInt16(((((länge_dezimal - Convert.ToDouble(länge_grad)) * 100 * 0.6) - Convert.ToDouble(länge_minute)) * 100 * 0.6)); länge += Convert.ToString(länge_grad) + "°" + Convert.ToString(länge_minute) + "'" + Convert.ToString(länge_sekunde) + "''"; MyPunkt2D punkt_LB = new MyPunkt2D (länge,breite); return punkt_LB;
vielen Dank schon mal
gesamter Thread:
- UTM-Koord. zu GEOGR. Koord. zu GK-Koord. in VB -
Thomas,
21.12.2010, 14:12
- GEOGR. Koord. zu GK-Koord. in Java -
MichaeL,
21.12.2010, 15:55
- GEOGR. Koord. zu GK-Koord. in Java -
Thomas,
22.12.2010, 07:41
- GEOGR. Koord. zu GK-Koord. in Java -
MichaeL,
22.12.2010, 09:25
- GEOGR. Koord. zu GK-Koord. in Java -
Thomas,
22.12.2010, 20:00
- GEOGR. Koord. zu GK-Koord. in Java -
Christian,
29.12.2010, 22:15
- GEOGR. Koord. zu GK-Koord. in Java -
Tino,
03.01.2011, 18:22
- GEOGR. Koord. zu GK-Koord. in Java -
MichaeL,
07.01.2011, 16:45
- GEOGR. Koord. zu GK-Koord. in Java - Tino, 08.01.2011, 16:37
- GEOGR. Koord. zu GK-Koord. in Java -
MichaeL,
07.01.2011, 16:45
- GEOGR. Koord. zu GK-Koord. in Java -
Tino,
03.01.2011, 18:22
- GEOGR. Koord. zu GK-Koord. in Java -
Christian,
29.12.2010, 22:15
- GEOGR. Koord. zu GK-Koord. in Java -
Thomas,
22.12.2010, 20:00
- GEOGR. Koord. zu GK-Koord. in Java -
MichaeL,
22.12.2010, 09:25
- GEOGR. Koord. zu GK-Koord. in Java -
Thomas,
22.12.2010, 07:41
- UTM-Koord. zu GEOGR. Koord. zu GK-Koord. in VB - mad66, 25.01.2011, 23:49
- GK-Koordinaten in Länge und Breite umrechnen in C# -
Daniel_1983,
12.03.2011, 22:31
- GK-Koordinaten in Länge und Breite umrechnen in C# -
MichaeL,
13.03.2011, 10:14
- GK-Koordinaten in Länge und Breite umrechnen in C# -
Daniel_1983,
16.03.2011, 21:08
- GK-Koordinaten in Länge und Breite umrechnen in C# -
MichaeL,
17.03.2011, 10:00
- GK-Koordinaten in Länge und Breite umrechnen in C# - Stefan Hahne, 01.07.2011, 14:55
- GK-Koordinaten in Länge und Breite umrechnen in C# -
MichaeL,
17.03.2011, 10:00
- GK-Koordinaten in Länge und Breite umrechnen in C# -
Daniel_1983,
16.03.2011, 21:08
- GK-Koordinaten in Länge und Breite umrechnen in C# -
MichaeL,
13.03.2011, 10:14
- GEOGR. Koord. zu GK-Koord. in Java -
MichaeL,
21.12.2010, 15:55