Umrechnungsformeln oder ???

Fragen und Hinweise zu Software, die mit dem Thema GPS zu tun hat. Egal ob PC oder Handheld.

Moderator: Roland

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 23.09.2006 - 20:01

Hallo MacToolz,

ich kann's kaum glauben, aber das kleine Basic-Progrämmchen liefert fast dasselbe wie ALLTRANS. Unter uns, ich wollte alle Koeffizienten (an einem nebligen Novemberabend?) nochmal prüfen.

(Die Längenumwandlung der Eingabe habe ich etwas anders ...?)

  • Privates Test-Programm ohne jede Gewaehrleistung
    -----------------------------------------------------------------

    Breite (PHI), Laenge (LAM) in Dezimalgrad, WGS84-Hoehe in m

    50.96143,7.00699,97.1

    WGS84 XYZ = 3995360.722767498 491063.3959709646 4930918.60970951

    Bessel XYZ = 3994729.861698017 491038.841212605 4930467.98659649

    Mittelmeridian : 6

    Breite, Laenge auf Bessel 50.96268629602277 7.007738621803152

    GK Rechts, Hoch, Ell. Hoehe
    2570788.244028693 5647838.525641019 50.61198083900672
Also mit den Zwischenwerten kannst Du doch den Fehler einkreisen.

Grüße Roland

mactoolz

Beitrag von mactoolz » 24.09.2006 - 22:51

Hi,

ich habe bis auf die letzte paar Stellen hinter dem Komma, da liegen wir ja dann schon unter dem Millimeter Bereich genau das gleiche Ergebnis.

Wunderbar wunderbar. Ich kann nur sagen, wunderbar die Formel auseinander gewuselt und zusammen gestetzt als Programmiercode.

Bei mir lag dann auch der Fehler darin, nachdem ich dein Ergebis angezweifelt habe, das ich die Übergabewerte in die Funktion als Falscher Datentyp angenommen wurden.

Wie sieht es denn aus möchtest du das Prog zum testen mal haben. ???

JEtzt kommt es natürlich auf die GPS Maus an, diese mit sehr genauen Daten gefüttert zu bekommen. Ich habe in einem anderem Forum die sich mit der Hardware beschätigen angeklingelt und mich schlau gemacht.

Also, ich könnte die GPS Maus so umprogrammieren das dass EGNOS Signal empfangen werden kann. Bei diesem Signal soll man wohl bei ca. 1 Meter Genauigkeit liegen.

Ich habe die MAus auch umgestellt und von einer besseren Positionsangabe merke ich aber nichts. Also die Position wird mir mit einem Unterschied von 5-10 Meter angezeigt.

Also, wenn du Lust hast schick mir ne Mail und du bekommst das Prog.

Du hattest davon gesprochen die Koeffizienz noch zu verfeinern.

Wofür ist die denn ???

MacToolz

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 24.09.2006 - 23:11

Hallo MacToolz,

na dann schick mal das Programm an meine Email-Adresse, findest Du in meinem Profil.
Also ich könnte z.Zt. stundenlang Koordinaten transformieren :lol:

Zu den Koeffizienten:
es würde zum sauberen Programmieren gehören, den Einfluss der Koeffizienten auf die Nachkommastellen zu testen. Das habe ich nicht getan sondern die Formeln blind übernommen. Ob ich heute oder morgen damit weitermache ... oder übermorgen ???

Zu EGNOS:
Ok, ich benutze es nicht. Aber nach allem, was ich gelesen habe, ist (oder war?) mit den Massenprodukten eine Genauigkeitssteigerung kaum drin. Also akzeptiere 5-10 m . Oder gib' 1000 Euro mehr aus.

Ach übrigens: Du schaust in andere Foren ? :shock:

Gute Nacht
Roland

mactoolz

Beitrag von mactoolz » 25.09.2006 - 16:36

Hi,

so jezt ist der Braten fast perfekt aber auch nur fast.

Es fehlt noch die Kruste. Jetzt habe ich mit eurer tatkräftigen Unterstützung ca.10 Foren Seiten beansprucht und wir sind immer noch nicht ganz am Ziel.

Ich hatte gestern Abend erwähnt, das die Transformation wunderbar funktioniert, mit der sehr guten Unterstüzung von Roland. Da sollten sich die anderen mal eine Scheibe von abschendien :D

So jetzt kommt wieder ein neues Problem. Heute bin ich mit stolzer Brust bei uns in der Firma wieder zu unseren Vermesser gegangen. Habe den Kollegen gebeten er soll mir mal die GK mal anzeigen wo ich rauskomme.

Tja, was soll ich sagen, der Schock sitzt jetzt noch bei mir sehr tief.

So zum Thema, also das Ergebnis war zwischen 400 und 500 Meter im Rechtswert total aus dem Ruder gefallen.

Jetzt frage ich mich warum.

Was habe ich gemacht. Zuhause auf dem Balkon meine GPS Maus mit dem Besenstiel raus gehangen, sprich um ein wenig weniger Reflexion vom Gebäude zu bekommen. Gut 2 Meter machen da wohl nicht viel. Egal die Nachbarn lachen sich schon schlapp.

Als ersteh habe ich in einem Kartenprogramm mir die aktuellen Koordinaten anzeigen lassen ob auch die Verbindung funktioniert. Die Abweichung von meinem eigentlichen Standpunkt liegt zwischen 5- 10 Meter entfernt. Ist auch voll OK.

Dann habe ich in meinem Porgamm mir anzeigen lassen ob die Umrechnung von NMEA nach Dezimalgrad richtig ist. Alles wunderbar.

Dann in GoogleEarth nochmal verglichen. Auch bestens.

Dann habe ich Alltrans benutzt um die Dezimalgrad in GK umrechnen zu lassen.

Dann aus meinem Programm die Koordinaten anzeigen lassen, Position stimmt, das Ergebnis in GK mit Alltrans verglichen.
Die beiden GK Werte liegen bei der Umrechnung bis auf den Milli Millimeter genau. Ab der dritten Stelle hinter dem Komma liegen die Werte ein wenig auseinander.

Also, vom Prinzip her würde ich sagen das alle Daten vernünftig ausgelsen, verglichen und richtig umgerechnet sind.

Nun zum Schock, auf der Arbteit habe ich total ein anderes Ergebnis im Rechtswert.

Bei mir auf dem Balkon stimmt es und auf der Abreit nicht mehr.
Im Hochwert liege ich bei 2.3 Meter unterschied.

JETZT DIE FRAGE. ----- WARUM ??? -----

Falls, jemand fragen sollte wie weit mein Arbeitsplatz vom Wohnort entfernt ist, wegen den Transformtionsparameter, sind es zu meinem Arbeitsplatz 9Km.

Also könnte man ja die Transformationsparameter auch verwenden, zumindest macht das doch keine 400-500 Meter aus. ???

MacToolz

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 25.09.2006 - 20:09

Aaaaarrrgh :(
JETZT DIE FRAGE. ----- WARUM ??? -----
Weil der Vermesser keine Ahnung hat worum es geht ?

Wenn wir davon ausgehen dürfen, dass Breite 50.9614° und Länge 7.00699° stimmen, dann liegt das in der Ecke Frankfurter Straße / Eulenbergstraße !
Das habe ich auch nochmal mit dem
Deutschlandviewer überprüft, dessen Benutzung zu erklären hier nicht der Platz ist. Ich fummle auch jedesmal von Neuem rum. Jedenfalls kann man da in der TK 25.000 in der entsprechenden Ecke (Verlängerung Mülheimer Brücke) "unsere" GK-Koordinaten abgreifen.

Welches Koordinatensytem benutzt "der Vermesser". UTM kommt überhaupt nicht hin, da sind mehr als 400 m Unterschied.

Ach, ich finde gerade in den Kowomastatuten "Ist ein Problem auch nach mehrfachen intensiven Versuchen nicht zu lösen, kann der Moderator Hausbesuche durchführen. Die dabei anfallenden Getränkekosten hat der Verursacher in voller Höhe zu übernehmen" :wink:
Ich bin am Wochenende in Düsseldorf ... nach entsprechendem Alt würde ich am Samstag Päffgens oder die Malzmühle wählen.

Grüße Roland

mactoolz

Beitrag von mactoolz » 25.09.2006 - 20:44

Hi,

ja schade die Chance würde ich gerne übernehmen. Aber ich weis nicht, irgend jemand treffen der dann eine Altfahne hat :lol:

Spaaaaas, nein ich würde das gerne nutzen, nur ich bin leider das kommende Wochenende in Stuttgart.

Meinst du etwa das die Karten die dort hinterlegt sind, ich sag es mal ganz vorsichtig, einen anderen Maßstab haben oder sowas in der Art.

Oder ein anderes Kartenformat. ?????????

Das die aber keine Ahnung von ihrem Geschäfft haben würde mich nicht wundern, so oft wie wir Dinge in der Erde suchen.

Hey sagmal, hast du den DeutschlandViewer jetzt erst gefunden :twisted:
Also unsere Berechnung mit den eingehenden Daten sind vollkommen richtig.

Den DeutschlandViewer zu benutzen ist einfach, was man da für Kartenformate aussuchen kann keine Ahnung, ich denke aber es liegt wohl irgendwie an dem Kartenformat was bei uns in der Firma vorliegt oder ???

Ich kann dir genau zeigen wo ich wohne, voll Cool mit den direkt umgerechneten GK

MacToolz

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 25.09.2006 - 22:24

Ja, das mit dem sinnlosen Buddeln in der Erde, das kenn' ich ...

Nächster Schritt:
versuch' herauszufinden, woher der Vermesser die Koordinaten bezieht. Hier und da können Energieversorger, Industrieunternehmen (?) noch eigene Systeme haben. Andererseits haben die schon eher UTM als die Landesvermessungen.

Grüße Roland

mactoolz

Beitrag von mactoolz » 25.09.2006 - 23:08

Hi,

also die Arbeiten mit GIS und Smallword.

Worin er jetzt wirklich die GK gesetzt hat, muss ich nochmal schauen.


MAcToolz

mactoolz

Beitrag von mactoolz » 26.09.2006 - 21:25

Hi,

also folgendes. Alle Aufregung um nichts. Der Kollege, warum auch immer hat sich wohl bei der Eingabe vertan, wobei ich selber gesehen habe was er eingegben hat. Vielleicht lag es an Smallworld. Ich weis es nicht.

Zum Glück war ich heute wieder bei Ihm und wollte nachfragen, aber da saß doch sein Referent. Komisch man kann sonst keine Referenten gebrauchen aber dafür schon.

Er hat die Daten einegegeben und siehe da, ich komme doch glat da raus wo ich wohne. Tja so ist das mit den Kollegen.

Fazit, man hat viel aus dem ganzen gelernt. Man hat sich bescäftigt, viel geärgert. Programmierkenntnisse wieder verbessert und und und.
Das Programm ist auch leider nur so gut wie die jeweilige GPS Maus angeschlossen wird. Das ist das Los was ich habe.

Also, wer mag, auch die jenigen die sich nicht mehr zu Wort gemeldet haben. Können gerne von mir die letzte Version erhalten.

Roland hat sich in seiner ersten Mail an mich, schon für den ersten Eindruck positiv geäußert.


MacToolz

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 27.09.2006 - 21:05

Hallo,

können wir jetzt ein Resümee ziehen ?
Rückblickend wäre festzustellen: eine Sturzgeburt war es eher nicht :lol:

Wo ist Sami eigentlich geblieben. Hat er sich zwischen Seite 7 und 8 verlaufen ?

Nachgefragt: ist der Referent etwa ein Referendar, etwa einer des höheren vermessungstechnischen .. ach Schwamm drüber.

Roland

mactoolz

Beitrag von mactoolz » 27.09.2006 - 21:52

Hi,

das Resümme ist, das dieses Thema durch die sehr starke Themenbeteiligung von Roland, immer wieder meine Fragen verbessert hat, ist es ermöglicht worden die Transformation von WGS84 GPS Koordinaten nach Gauss Krüger Koordinaten selber programmiertechnisch umzusetzen.

Darum würde ich gerne den von mir umgesetzten Code von Roland in VBA Code hier vorzeigen.

Dieser Code wurde eingehend überprüft mit folgenden Links
---------------------------------------------------------------------------
http://www.tim-online.nrw.de/tim-online ... index.html
http://www.deutschlandviewer.de/deutsch ... index.html

Codebeginn:
-------------------------------------------------------------------------
-------------------------------------------------------------------------

Function NMEA_to_GK(Breite, Länge, Höhe) As Variant

' ---------------------------------------------------------------------------
'
' Geogr. Laenge und Breite von WGS84 in Gauss-Krueger umwandeln
' (Datumsuebergang)
'
' Basierend auf dem Skript der TU Muenchen
' http://tau.fesg.tu-muenchen.de/~iapg/we ... ift_LV.pdf
'
' 20.09.2006
' ---------------------------------------------------------------------------

phi = CDbl(Breite)
lam = CDbl(Länge)
m = CDbl(Höhe)

rho = 180 / Pi_

'--- WGS84-Ellipsoid
a = 6378137#
b = 6356752.31425
e2 = (a * a - b * b) / a / a

phi = phi / rho
lam = lam / rho

'--- Phi und Lambda in XYZ
N = Sqr(1 - e2 * sIn(phi) * sIn(phi))
N = a / N

X = (N + H) * Cos(phi) * Cos(lam)
Y = (N + H) * Cos(phi) * sIn(lam)
Z = (b / a * b / a * N + H) * sIn(phi)

'--- Datumsuebergang WGS84 -> Bessel
'-----------------------------------

'--- Die Variabeln dX_ , dY_ , dZ_ , rX_ , rY_ , rZ_ , sC_ sind
'--- Transformationsparameter
'--- Diese Transformationsparameter müssen für die jeweilige
'--- Region wo eine MEssung durchgeführt
'--- durch die Landesvermessung ermittelt und hier
'--- angegeben werden

' dX_= ???
' dY_ = ???
' dZ_ = ???
' rX_ = ???
' rY_ = ???
' rZ_ = ???
' sC_ = ???

rotx = rX_ / 3600 / rho
roty = rY_ / 3600 / rho
rotz = rZ_ / 3600 / rho

m = 1 + sC_ / 1000000

Xd = m * (X + rotz * Y - roty * Z) + dX_
Yd = m * (Y - rotz * X + rotx * Z) + dY_
zd = m * (roty * X - rotx * Y + Z) + dZ_

'--- XYZ Bessel in Laenge und Breite
'-----------------------------------
'--- Bessel-Ellipsoid
a = 6377397.155
b = 6356078.963
e2 = (a * a - b * b) / a / a

X = Xd
Y = Yd
Z = zd

'--- Geschlossene Formel
'--------------------------
'--- Die Iteration waere alternativ zu pruefen
P = Sqr(X * X + Y * Y)
theta = Atn(Z / P * a / b)

es2 = (a * a - b * b) / b / b

lam = Atn(Y / X)
phi = Atn((Z + es2 * b * (sIn(theta)) ^ 3) / (P - e2 * a * (Cos(theta)) ^ 3))

N = Sqr(1 - e2 * sIn(phi) * sIn(phi))
N = a / N
H = P / Cos(phi) - N

'--- Entwicklung der GK-Koordinaten
'----------------------------------
'--- Hier waere an den Koeffizienten noch Feinarbeit zu leisten
lkz = lam * rho
If Abs(lkz - 3) < 1.5 Then
LAM0 = 3
ElseIf Abs(lkz - 6) < 1.5 Then
LAM0 = 6
ElseIf Abs(lkz - 9) < 1.5 Then
LAM0 = 9
ElseIf Abs(lkz - 12) < 1.5 Then
LAM0 = 12
ElseIf Abs(lkz - 15) < 1.5 Then
LAM0 = 15
End If

i = (lam - LAM0 / rho)

B3 = phi
N = a * a / Sqr(a * a * Cos(phi) * Cos(phi) + b * b * sIn(phi) * sIn(phi))
h1 = Sqr(es2 * Cos(phi) * Cos(phi))
t = Tan(B3)
nab = (a - b) / (a + b)
c = a / (1 + nab)

G0 = 1 + nab * nab / 4 + nab ^ 4 / 64
g1 = 3 * nab / 2 * (1 - nab * nab / 8)
g2 = 15 * nab * nab / 16 * (1 - nab * nab / 2)
G3 = 35 / 48 * nab * nab * nab
G4 = 315 / 512 * nab ^ 4

BL = c * (G0 * B3 - g1 * sIn(2 * B3) + g2 * sIn(4 * B3) - G3 * sIn(6 * B3) + G4 * sIn(8 * B3))

BL1 = t / 2 * N * Cos(B3) ^ 2 * i ^ 2
BL2 = t / 24 * N * Cos(B3) ^ 4 * (5 - t ^ 2 + 9 * h1 ^ 2) * i ^ 4
BL3 = t / 720 * N * Cos(B3) ^ 6 * (61 - 58 * t ^ 2 + t ^ 4 - 330 * t ^ 2 * h1 ^ 2) * i ^ 6
BL4 = t / 40320 * N * Cos(B3) ^ 8 * (1385 - 3111 * t ^ 2 + 543 * t ^ 4 - t ^ 6) * i ^ 8
Hochwert = BL + BL1 + BL2 + BL3 + BL4

RW1 = N * Cos(B3) * i
RW2 = N / 6 * Cos(B3) ^ 3 * (1 - t ^ 2 + h1 ^ 2) * i ^ 3
RW3 = N / 120 * Cos(B3) ^ 5 * (5 - 18 * t ^ 2 + t ^ 4 + 14 * h1 ^ 2 - 58 * t ^ 2 * h1 ^ 2) * i ^ 5
RW4 = N / 5040 * Cos(B3) ^ 7 * (61 - 479 * t ^ 2 + 179 * t ^ 4 + t ^ 6) * i ^ 7
Rechtswert = RW1 + RW2 + RW3 + RW4 + 500000 + LAM0 / 3 * 1000000

phi = phi * rho
lam = lam * rho

NMEA_to_GK = Array(Rechtswert, Hochwert, H)
End Function


-------------------------------------------------------------------------
-------------------------------------------------------------------------
Code Ende


mfg



MacToolz

mactoolz

Beitrag von mactoolz » 15.11.2006 - 18:29

Hallo ihr vielen User,

ich würde gerne mal erfahren wie ihr mit dem Code umgeht.


@Roland:
Ich habe mal die letzte Seite nochmal kurz durchgelsen.
Du hattest was erwähnt das man die Koeffizienten noch anpassen müsste.

Was hast du denn für Ideen. Denk dran ich habe keine Ahnung was die Koeffizienten sein soll. Zumindest müsste ich mich durch das Internet forschen.

Meine Idee ist es wenn ich das verbessern müsste, würde ich dich bitten mir die Formeln zu liefern und ich setze es wieder in den Code um.

Oder ???

Wie schon in der Mail erwähnt wird dieses Programm bei uns in der Firma umgesetzt. Vorallem da ich es auch noch an unsere Datenbank gekoppelt habe.

Da wir aber durch die minderwertige Hardware eine Empfangsabweichung von 5-10 Meter haben ist es nicht wirklich das Problem. Ich suche keine Hydranten.

Von daher könnte ich mit super teuren Geräten eine super Kostengünstige Programmversion Koordinaten wandeln.

Was hälst du davon mal die verschiedensten Transformationen noch einzubauen.

Ich wäre bereit. !!!



MacToolz

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 15.11.2006 - 23:13

Hallo MacToolz - und weiter geht's.

Koeffizienten sind halt die G1, BL1, RW1 usw. und die hab' ich mehr oder wenig gutgläubig abgetippt ohne deren Entwicklung nochmal zu prüfen. Einzige Probe war die Übereinstimmung mit ALLTRANS und der Seite der Uni Hannover.

Das wollte ich eigentlich im Detail nochmal -irgendwann- nachprüfen ... aber hier unten hab' ich mich schon auf den nächsten Clou eingelassen.

Meiner Meinung nach habt ihr keine "minderwertige Hardware" (welche war das ?), eine Maus oder ein handelsüblicher Handheld mit Einfrequenzempfang liegt in diesem Bereich. Und da die Transformation auch metergenau ist, passt beides m.E. zusammen.

Grüße Roland
Zuletzt geändert von Roland am 29.11.2006 - 23:49, insgesamt 1-mal geändert.

mactoolz

Beitrag von mactoolz » 16.11.2006 - 00:41

Hallo,

also bei uns setzen wir GPS Mäuse ein.

Ich habe zwei Möglichkeiten die Koordinaten genau zu bestimmen. Einmal haben wir ein Navigationssystem im Auto fest eingebaut. Das bringt mir wirklich sehr genaue Daten, denke ich. Zumindest sind diese genauer als die GPS Mäuse.

Die Gefahr besteht wenn ich meinen Kollegen die Möglichkeit gebe die Koordinaten selber eingeben zu können, brauchen wir dann ja uns nicht weiter über Schreibfehler zu unterhalten.

Macht es denn Sinn die Koeffizienten einzubauen, bestimmt oder ???

MAcToolz

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 21.11.2006 - 00:21

Hallo MacToolz,

Dir wollte ich schon das ganze Wochenende antworten, hatte mir aber auch viel anderes vorgenommen ... und auch nicht erledigt.

Wenn das Navi von Werk aus fest eingebaut ist, navigiert es mit Radsensoren und el. Kompass, das GPS stützt die Positionierung nur. Dann arbeiten viele Programme, ich weiß aber ehrlich gesagt nicht welche alle, mit dem sog. Map-matching: Deine Position wird auf die Straße gezogen oder gezwungen, sieht dann sehr genau aus.

Die Koeffizienten des Programms könnte ich nochmal mit der neuen
BKG-Transformation überprüfen. Aber ich glaube, das Bundesamt für Geodäsie und Kartographie hat noch einen Halbmeter-Fehler in seiner Transformation :wink:
Hm, die Datums-Parameter hab' ich noch nicht verglichen.

Grüße Roland

Antworten