<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Das GEO-Forum - Gelöst - Problem bei Umrechnung von Pulkovo 1942 in WGS84</title>
<link>http://forum.diegeodaeten.de/</link>
<description>DieGeodaeten.de ist ein geodätisches Portal, welches von Vermessungsingenieuren der HS Neubrandenburg ins Leben gerufen wurde. Neben Neuigkeiten aus den Bereichen Geodäsie und Geoinformatik werden Buchempfehlungen oder Downloads angeboten.</description>
<language>de</language>
<item>
<title>Gelöst - Problem bei Umrechnung von Pulkovo 1942 in WGS84 (Antwort)</title>
<content:encoded><![CDATA[<blockquote><p>Hi,</p>
<p>Manchmal gibt es Unterschiede in den Konventionen der Drehwinkel. Ich würde im übrigen meinen, dass die angegebenen Werte in Sekunden sind und nicht in Grad! </p>
</blockquote><p>Oh mann, manchmal sieht man den Wald vor lauter Bäumen nicht, danke!<br />
Rechne die Parameter nun von arcsec in rad um und erhalte die gewünschten Werten.</p>
<blockquote><p>Im übrigen gibt es aktuellere Transformationsparameter von 2001, <a href="http://diegeodaeten.de/datumstransformation.html">vgl. Tabelle 3 im Artikel Möglichkeiten zur Datumstransformation zwischen Koordinatenreferenzsystemen</a></p>
</blockquote><p>Ja, danke. Ich wollte voerst die Referenz erfüllen und dadurch die dort hinterlegten Parameter.</p>
<p>Danke nochmal.</p>
<blockquote><p>/Micha</p>
<p><img src="http://fs5.directupload.net/images/170324/76qztkjw.png" alt="[image]" /></p>
</blockquote>]]></content:encoded>
<link>http://forum.diegeodaeten.de/index.php?id=5674</link>
<guid>http://forum.diegeodaeten.de/index.php?id=5674</guid>
<pubDate>Fri, 24 Mar 2017 11:03:38 +0000</pubDate>
<category>Geodäsie/Vermessung</category><dc:creator>Chris88</dc:creator>
</item>
<item>
<title>Problem bei Umrechnung von Pulkovo 1942 in WGS84 (Antwort)</title>
<content:encoded><![CDATA[<p>Hi,</p>
<blockquote><p>Ich wäre über jegliche Anregung dankbar!</p>
</blockquote><p>
Manchmal gibt es Unterschiede in den Konventionen der Drehwinkel. Ich würde im übrigen meinen, dass die angegebenen Werte in Sekunden sind und nicht in Grad! Das gewünschte Ergebnis konnte ich mit GeoTra aber rekonstruieren, vgl. den angefügten Screenshot.</p>
<p>Im übrigen gibt es aktuellere Transformationsparameter von 2001, <a href="http://diegeodaeten.de/datumstransformation.html">vgl. Tabelle 3 im Artikel Möglichkeiten zur Datumstransformation zwischen Koordinatenreferenzsystemen</a></p>
<p>/Micha</p>
<p><img src="http://fs5.directupload.net/images/170324/76qztkjw.png" alt="[image]" /></p>
]]></content:encoded>
<link>http://forum.diegeodaeten.de/index.php?id=5673</link>
<guid>http://forum.diegeodaeten.de/index.php?id=5673</guid>
<pubDate>Fri, 24 Mar 2017 10:39:58 +0000</pubDate>
<category>Geodäsie/Vermessung</category><dc:creator>MichaeL</dc:creator>
</item>
<item>
<title>Problem bei Umrechnung von Pulkovo 1942 in WGS84</title>
<content:encoded><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem bei einer Koordinatentransformation.<br />
Ich habe Koordinaten im GaussKrüger Format (Rechtswert/Hochwert) im Quellkoordinatensystem Pulkovo 1942 (Krassovsky). Ich würde diese gerne ins WGS84 transformieren.</p>
<p>Zum Vorgehen:<br />
1.) Umwandeln von GaussKrüger Koordinaten in Geo Koordinaten<br />
2.) Umwandeln von Geographischen Koordinaten in Geozentrische Koordinaten<br />
3.) Speziallfall Molodensky-Badekas Tranformation<br />
4.) Umwandeln von Geozentrischen Koordinaten in Geographische Koordinaten</p>
<p>Ich nehme als Referenz folgende Online-Transformation:<br />
https://epsg.io/transform#s_srs=2399-1675&amp;t_srs=4326&amp;x=5389306.9210650&amp;y=5823166.2710200</p>
<p>Meine Daten:<br />
Rechtswert: 5389306.921065<br />
Hochwert:   5823166.27102</p>
<p>Was ich erhalten möchte:<br />
Längengrad:  13.3672138°<br />
Breitengrad: 52.5249447°</p>
<p>1.)<br />
<code><br />
&nbsp; &nbsp; &nbsp; &nbsp; a = 6378245;<br />
&nbsp; &nbsp; &nbsp; &nbsp; f = 1/293.3;<br />
&nbsp; &nbsp; &nbsp; &nbsp; c = a / (1 - f);</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // Quadrat der zweiten numerischen Exzentrizität<br />
&nbsp; &nbsp; &nbsp; &nbsp; ex2 = (2 * f - f * f) / ((1 - f) * (1 - f));<br />
&nbsp; &nbsp; &nbsp; &nbsp; ex4 = ex2 * ex2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; ex6 = ex4 * ex2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; ex8 = ex4 * ex4;</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // Koeffizienten zur Berechnung der geographischen Breite aus gegebener<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Meridianbogenlänge<br />
&nbsp; &nbsp; &nbsp; &nbsp; e0 = c * (pi / 180) * (1 - 3 * ex2 / 4 + 45 * ex4 / 64 - 175 * ex6 / 256 + 11025 * ex8 / 16384);<br />
&nbsp; &nbsp; &nbsp; &nbsp; f2 =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (180 / pi) * (3 * ex2 / 8 - 3 * ex4 / 16 + 213 * ex6 / 2048 - 255 * ex8 / 4096);<br />
&nbsp; &nbsp; &nbsp; &nbsp; f4 =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (180 / pi) * (21 * ex4 / 256 - 21 * ex6 / 256 + 533 * ex8 / 8192);<br />
&nbsp; &nbsp; &nbsp; &nbsp; f6 =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (180 / pi) * (151 * ex6 / 6144 - 453 * ex8 / 12288);</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // Geographische Breite bf zur Meridianbogenlänge gf = hw<br />
&nbsp; &nbsp; &nbsp; &nbsp; sigma = (northing) / e0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; sigmr = sigma * pi / 180;<br />
&nbsp; &nbsp; &nbsp; &nbsp; bf = sigma + f2 * Math.sin(2 * sigmr) + f4 * Math.sin(4 * sigmr) + f6 * Math.sin(6 * sigmr);</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // Breite bf in Radianten<br />
&nbsp; &nbsp; &nbsp; &nbsp; br = bf * pi / 180;<br />
&nbsp; &nbsp; &nbsp; &nbsp; tan1 = Math.tan(br);<br />
&nbsp; &nbsp; &nbsp; &nbsp; tan2 = tan1 * tan1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; tan4 = tan2 * tan2;</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; cos1 = Math.cos(br);<br />
&nbsp; &nbsp; &nbsp; &nbsp; cos2 = cos1 * cos1;</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; etasq = ex2 * cos2;</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // Querkrümmungshalbmesser nd<br />
&nbsp; &nbsp; &nbsp; &nbsp; nd = c / Math.sqrt(1 + etasq);<br />
&nbsp; &nbsp; &nbsp; &nbsp; nd2 = nd * nd;<br />
&nbsp; &nbsp; &nbsp; &nbsp; nd4 = nd2 * nd2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; nd6 = nd4 * nd2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; nd3 = nd2 * nd;<br />
&nbsp; &nbsp; &nbsp; &nbsp; nd5 = nd4 * nd;</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // Längendifferenz dl zum Bezugsmeridian lh<br />
&nbsp; &nbsp; &nbsp; &nbsp; kz = (int)(easting / 1e6);<br />
&nbsp; &nbsp; &nbsp; &nbsp; lh = kz * 3;<br />
&nbsp; &nbsp; &nbsp; &nbsp; dy = (easting - (kz * 1e6 + 500000));<br />
&nbsp; &nbsp; &nbsp; &nbsp; dy2 = dy * dy;<br />
&nbsp; &nbsp; &nbsp; &nbsp; dy4 = dy2 * dy2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; dy3 = dy2 * dy;<br />
&nbsp; &nbsp; &nbsp; &nbsp; dy5 = dy4 * dy;<br />
&nbsp; &nbsp; &nbsp; &nbsp; dy6 = dy3 * dy3;</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; b2 = -tan1 * (1 + etasq) / (2 * nd2);<br />
&nbsp; &nbsp; &nbsp; &nbsp; b4 = tan1 * (5 + 3 * tan2 + 6 * etasq * (1 - tan2)) / (24 * nd4);<br />
&nbsp; &nbsp; &nbsp; &nbsp; b6 = -tan1 * (61 + 90 * tan2 + 45 * tan4) / (720 * nd6);</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; l1 = 1 / (nd * cos1);<br />
&nbsp; &nbsp; &nbsp; &nbsp; l3 = -(1 + 2 * tan2 + etasq) / (6 * nd3 * cos1);<br />
&nbsp; &nbsp; &nbsp; &nbsp; l5 = (5 + 28 * tan2 + 24 * tan4) / (120 * nd5 * cos1);</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // Geographischer Breite bp und Länge lp als Funktion von Rechts- und<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Hochwert<br />
&nbsp; &nbsp; &nbsp; &nbsp; latitude = bf + (180 / pi) * (b2 * dy2 + b4 * dy4 + b6 * dy6);<br />
&nbsp; &nbsp; &nbsp; &nbsp; longitude = lh + (180 / pi) * (l1 * dy + l3 * dy3 + l5 * dy5)<br />
</code></p>
<p>Nach 1.) erhalte ich folgende Werte:</p>
<p>Längengrad:  13.369036382735441<br />
Breitengrad: 52.525467788632824</p>
<p>2.) Umrechnung in geozentrische Koordinaten:<br />
<code><br />
&nbsp; &nbsp; &nbsp; &nbsp; pi = Math.PI;<br />
&nbsp; &nbsp; &nbsp; &nbsp; a = 6378245;<br />
&nbsp; &nbsp; &nbsp; &nbsp; f = 1/293.3;<br />
&nbsp; &nbsp; &nbsp; &nbsp; e2 = (2 * f - f * f);</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; longitudeRAD = longitude * (pi / 180);<br />
&nbsp; &nbsp; &nbsp; &nbsp; latitudeRAD = latitude * (pi / 180);</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // Querkrümmungshalbmesser<br />
&nbsp; &nbsp; &nbsp; &nbsp; double nd = a /sqrt(1 - e2 * sin(latitudeRAD)²);<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; // Umrechnung in geozentrische Koordinaten<br />
&nbsp; &nbsp; &nbsp; &nbsp; xp = (nd) * cos(latitudeRAD) * cos(longitudeRAD);<br />
&nbsp; &nbsp; &nbsp; &nbsp; yp = (nd) * cos(latitudeRAD) * sin(longitudeRAD);<br />
&nbsp; &nbsp; &nbsp; &nbsp; zp = ((1 - e2wgs84) * nd) * sin(latitudeRAD);<br />
</code></p>
<p>Nach 2.) erhalte ich folgende geozentrische Koordinaten:</p>
<p>xp: 3783403.403351258<br />
yp: 899173.4481951335<br />
zp: 5038677.955342111</p>
<p>3.) Transformation von Pulkovo 1942 zu WGS84</p>
<p><code><br />
Transformationsparameter:<br />
&nbsp; &nbsp; &nbsp; &nbsp; dx = 24.0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; dy = -123.0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; dz = -94.0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; rx = -0.02 * (pi / 180);<br />
&nbsp; &nbsp; &nbsp; &nbsp; ry = 0.25 * (pi / 180);<br />
&nbsp; &nbsp; &nbsp; &nbsp; rz = 0.13 * (pi / 180); <br />
&nbsp; &nbsp; &nbsp; &nbsp; scale = 1.1;</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; M = 1 + scale*10e-6;</code></p>
<p><code>&nbsp; &nbsp; &nbsp; &nbsp; // 7-Parameter Transformation<br />
&nbsp; &nbsp; &nbsp; &nbsp; x = xp + (M * (dx - (rz * dy) + (ry * dz)));<br />
&nbsp; &nbsp; &nbsp; &nbsp; y = yp + (M * ((rz * dx) + dy - (rx * dz)));<br />
&nbsp; &nbsp; &nbsp; &nbsp; z = zp + (M * ((-ry * dx) + (rx * dy) + dz));<br />
</code></p>
<p>4.) Umrechnung geozentrische Koordinaten in geographische Koordinaten</p>
<p><code><br />
&nbsp; &nbsp; &nbsp; &nbsp; rb = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; latitutdeWGS84 = (180 / pi) * Math.atan((z / rb) / (1 - e2wgs84));<br />
&nbsp; &nbsp; &nbsp; &nbsp; longitudeWGS84 = (180 / pi) * Math.atan(y / x);</code></p>
<p><code></code></p>
<p>Hier meine Frage:<br />
Laut https://epsg.io/1032-method multipliziere ich die Quellkoordinaten mit den Rotationen und M und verschiebe dann um dx,dy,dz.<br />
Mache ich es so, erhalte ich die folgenden Werte:</p>
<p>52.27755746434763°, 13.447067545543165°</p>
<p>Wenn ich wie oben in 3.) beschrieben dx,dy und dz rotiere und mit M multiplizieren und dann auf xp,yp,zp addiere erhalte ich folgende Werte:</p>
<p>52.52501509125434°, 13.367192233116334°</p>
<p>Ersteres macht mehr Sinn und ist ja auch so definiert. Die Werte sehen umgedreht allerdings besser aus.</p>
<p>Die unteren Werte haben eine Distanz von 8m zum erwarteten Punkt. Ich hätte es gerne noch genauer und vermute ich habe irgendwo einen Denkfehler. </p>
<p>Ich wäre über jegliche Anregung dankbar!</p>
]]></content:encoded>
<link>http://forum.diegeodaeten.de/index.php?id=5672</link>
<guid>http://forum.diegeodaeten.de/index.php?id=5672</guid>
<pubDate>Fri, 24 Mar 2017 10:00:01 +0000</pubDate>
<category>Geodäsie/Vermessung</category><dc:creator>Chris88</dc:creator>
</item>
</channel>
</rss>
