Umrechnungsformeln oder ???

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

Moderator: Roland

mactoolz

Beitrag von mactoolz » 15.09.2006 - 16:23

Hi,

gut irgendwie kommen wir nicht wieter. Wie gehen wir jetzt weiter vor. Erstellst du die Formel oder quatschen wir alle darüber zusammen das wir die Formel umgestellt bekommen und ich setze diese Programmiertechnsich ein.

Oder stelle hier die fertige Formel vor und ich setze diese um.

Ich bin für alles offen.

Also möchtest du auch damit sagen, das die Uni Münster das Skript falsch aufgestellt hat.

HAst du denn mal in die Formel und ablauf meines Programms hineingeschaut. ???

@Hartmut, hast du dir das Programm angeschaut. ???

MacToolz

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

Beitrag von Roland » 15.09.2006 - 17:41

Liiiieeeber MacToolz,

Also ich habe mich von Dir dazu hinreißen lassen, etwas zu tun, was ich so schnell nicht wieder machen wollte (sollte :? ): geodätische Grundaufgaben programmieren. Damit habe ich vor einer guten Woche in meiner Freizeit begonnen. Meine schlimmsten Befürchtungen (Fehler in den Quellen) sind prompt eingetreten. Meine Magengeschwüre frohlocken ...

Darüber informiere ich -z.T. aus Frust- aber auch um zu zeigen, dass ich weiter am Ball bin. Andere Teilnehmer des Forums, nehmen wir beispielhaft Thommy84, lassen nichts wieder von sich hören ...

Ich habe mir das Vergnügen gegönnt, mich in mehrere Vorlagen einzuarbeiten ( naja, diese zu überfliegen), auch Deinen Code. Fehler findet man erst, wenn man diese Codes selbst umsetzt. Und ich bin mit meinem Basic-Programm dabei. Lacht da jemand :evil:

Ich gönne mir aber mal ein zwei Tage Pause; wegen der Nerven, den Katzen, den Kartoffeln und einem Konzert, das ich morgen besuchen muss :lol:

Sami kriegt auch noch einen Hinweis.

Grüße Roland

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

Beitrag von Roland » 15.09.2006 - 18:31

Hallo Sami,

kann Dich noch etwas erschüttern ?

Aber könntest Du Deine Frage
... Formeln, die die Umrechnung über
GaussKrüger ersetzen durch echte Umrechungsformeln für Lat/Lon ...
doch nochmal konkreter stellen. Wenn ich sie jetzt lese stelle ich fest, dass ich sie wohl doch nicht ganz verstanden habe. Willst Du XYZ in Breite/Länge umrechnen. Und das nur in WGS84 ?

Nur zu. Wir liegen auf der Lauer.

Grüße Roland

mactoolz

Beitrag von mactoolz » 18.09.2006 - 21:38

Hi,

@Roland, tapfer tapfer. Vom Prinzip her ist es doch egal in welcher Sprache das ganze Programmiert wird.

Ich möchte aber nochmal darauf zurück kommen, das ich gerne bereit dazu bin deine Formel selber in VBA umzustellen und die dann präsentiere.

Das ist doch eine gute Kombination, du die Formeln und ich die Umsetzung = Ergebnis.

Oder ???

Dann viel Spass auf dem Konzert.

Also, hoffentlich bis später.


MacToolz

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

Beitrag von Roland » 19.09.2006 - 20:08

Heureka,

heute habe ich gemerkt, dass wieder im Skript Uni Münster der Wurm ist. Jetzt dämmert mir, dass dort ein Mathematiker ein anders orientiertes Koordinatensystem entwickelt hat - das kein Geodät versteht !

Meinen Segen hat das Skript der TU München , obwohl ich einige Ergänzungen aus anderen Quellen bezogen habe. Die :idea: kam mit dem
ascos-Infoblatt
Dort sind genannt

dX= -584.96 m
dY= -107.73 m
dZ= -413.80 m
rot x= 1.116"
rot y= 0.282"
rot z= -3.138"
dm = - 7.993 x 10-6

Die Vorzeichen unter Vorbehalt.

Z.Zt. komme ich bei Eingabe von

WGS84 7.393538°, 47.355634°, 351.5 m
auf
Bessel 3378710.160 m 5247595.006 m 297.829 m

ALLTRANS 3378709.741 5247594.849 Höhe 297.9299

Da ich 9° fest als Mittelmeridian für die Testrechnungen eingestellt hatte, war mir der Fehler nicht aufgefallen. Korrekt muss es heißen
Referenz 2605326.82 m 5247287.68 m 297.53 m

An ein paar Stellen kann man noch feilen, aber die Formeln aus dem Skript bringens. So. Jetzt kann ich mich langsam wieder auf andere Sachen konzentrieren. :)

Hallo Hartmut, was macht er Kater.
Was macht der Putsch. Muss man Dich jetzt mit Präsident anreden ? Du sagst ja selbst: Ein Teufel steckt in Dir ?!

Grüße Roland
Zuletzt geändert von Roland am 20.09.2006 - 19:38, insgesamt 1-mal geändert.

mactoolz

Beitrag von mactoolz » 19.09.2006 - 21:16

Hi,

@Roland, na dann herzlichen Glückwunsch.

Wärst du denn so nett und stellst uns deinen kompletten Code der Umrechnung zur Verfügung. ???
:shock:


MacToolz

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

Beitrag von Roland » 19.09.2006 - 22:02

Oouuu,

must I ?


Das hat nix mit "nichts rausrücken" zu tun.
Sondern mit

Kultur
Schönheit
Eleganz
Perfektion


eben alles, was mein Code (kommt von Kot?) nach tagelangem, verzweifeltem Bearbeiten nicht -mehr- hat. Lass mich mal das gröbste Glattbügeln ... Außerdem waren da noch die vielleicht fehlenden Terme.

Zusatz: ich hab' schon soviel Zweifelhaftes im Netz gefunden; jetzt mein Eigenes hinzufügen ... :roll:

Roland

mactoolz

Beitrag von mactoolz » 19.09.2006 - 22:32

Hi,

aber du bist vom Ergebnis her viel weiter als ich und mit Kultur, schönheit, eleganz und Perfektion habe ich kein Problem.

Vondaher wöre es schon nett, schließlich suche ich keinen Punkt der milimeter genau ausgemessen werden muss.


MacToolz

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

Beitrag von Roland » 20.09.2006 - 19:46

So.
Ohne weitere notwendige Tests und ohne die Koeffizienten nochmal geprüft zu haben (sorry) den Code zum Bestaunen

Code: Alles auswählen

' ---------------------------------------------------------------------------
'
' 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/web/lehre/skripten/Mitschrift_LV.pdf
'
' 20.09.2006
' ---------------------------------------------------------------------------


COLOR 10, 1
CLS
PRINT
PRINT "Privates Test-Programm ohne jede Gewaehrleistung"
PRINT "------------------------------------------------"
PRINT

' +++ DEFDBL

DEFDBL A-Z

Pi = 3.14159265358979#
rho = 180! / Pi


'+++ WGS84-Ellipsoid

a = 6378137#
b = 6356752.31414#
e2 = (a * a - b * b) / a / a

PRINT "Breite (PHI), Laenge (LAM) in Dezimalgrad, WGS84-Hoehe in m ";
PRINT
INPUT phi, lam, h
PRINT

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)


PRINT "WGS84 XYZ =  "; x; y; z
PRINT


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

' +++ Parameter NRW Teilnetz VIII Etwa zentimetergenau fuer dieses Gebiet
' Vorzeichen der Rotationen ?
dx = -567.3
dy = -89.4
dz = -370!
rotx = -.98
roty = .14
rotz = 2.6
dm = -15.2


' +++ Parameter Ihde&Lindstrot Metergenau fuer D

dx = -582!
dy = -105!
dz = -414!
rotx = 1.04#
roty = .35#
rotz = -3.08#
dm = -8.300000000000001#

' +++ Parameter ascos Etwa metergenau fuer D

dx = -584.96#
dy = -107.73#
dz = -413.8#
rotx = 1.116#
roty = .282#
rotz = -3.138#
dm = -7.992#

rotx = rotx / 3600! / rho
roty = roty / 3600! / rho
rotz = rotz / 3600! / rho

m = 1! + dm / 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

PRINT "Bessel XYZ = "; Xd; Yd; Zd
PRINT


'+++ 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


PRINT "Mittelmeridian : "; lam0
PRINT

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

                                   
PRINT "Gradbogen ="; G0, G1; G2; G3
PRINT

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 + 270 * h1 ^ 2 - 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

PRINT "Bogenlaenge ="; BL, BL1; BL2; BL3; BL4
PRINT

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

PRINT "Breite, Laenge auf Bessel "; phi; lam
PRINT
PRINT "GK Rechts, Hoch, Ell. Hoehe"; Rechtswert; Hochwert; h
PRINT



END
1. Fehlerkorrektur:
beim Term BL3 + 270 h1^2 hinzugefügt

Roland
Zuletzt geändert von Roland am 19.04.2007 - 22:07, insgesamt 1-mal geändert.

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

Beitrag von Roland » 20.09.2006 - 20:01

Notwendige Anmerkungen zu allen Programmen:

Die Umwandlung erfolgt nur metergenau. Wenn einzelne Programme besser übereinstimmen, heißt das nur, die Algorithmen sind gleich oder ähnlich. In der Realität kann ein gemessener Vergleichspunkt einige Meter andere Koordinaten haben.
Die z.B. vom Landesvermessungsamt NW für ein besimmtes Landesgebiet veröffentlichten Parameter gelten auch nur für dieses Gebiet. Eine Anwendung auf andere Ecken Deutschlands wird zu erheblichen Fehlern führen (ca. mehrere 10 m).

Anmerkung zu meinem Programm. Es ist nur als Hilfe für MacToolz gedacht. Und ein bisschen zum eigenen Verständnis.
Sicher ist es eleganter, die Problematik wie in den Skripten von der theoretischen Seite gründlich zu durchdringen. Ich hingegen komme über das Programmieren (vielleicht) dazu, die einzelnen Schritte wechselseitig rechnerisch und theoretisch zu ergründen.

So, jetzt habe ich wieder Zeit, die Katzen zu striegeln.
Und hoffentlich für die anderen Fragen ringsum.

Grüße Roland

Benutzeravatar
Hartmut
Beiträge: 815
Registriert: 25.05.2004 - 18:56
Wohnort: Prachuab Khiri Khan 11°44'37"N 99°47'17"E
Kontaktdaten:

Beitrag von Hartmut » 20.09.2006 - 20:34

moin,
hallo roland, mit präsident is nich, gott sei dank (die armen thais).
aber bei kater, da haben wir reste eines weiß rot-braunen katzentiers gefunden, was mich stört, ist das von beiden halsbändern keine spur vorhanden ist.

bis denn
:mrgreen: :mrgreen: :mrgreen:
ich bin zwar verantwortlich, für das was ich sage, aber nicht dafür, wie du es verstehst.

rechtschreibfehler sind gewollt und deswegen mit voller Absicht erstellt. wer welche findet, darf sie behalten, verschenken oder auch versteigern.

mactoolz

Beitrag von mactoolz » 21.09.2006 - 00:18

Haloo zusammen,

mir ist schon bewust das die Transformationsparameter nur Gebitesbezogen sind.

Darum habe ich in meinem Prog, was sich bis jetzt nur der Hartmut für interessiert hat, Access als Datenbank genommen, damit ich die Transformationsparameter mir auswählen kann.

Wenn ich es wollte, könnte ich versuchen zu jedem Gebiet wo ich mich befinde, wie z.B. den Bergischen Kreis bei uns, Köln selnst, Erftkreis etc. wo auch immer die Transformationsparameter als Auswahl definieren und dadurch berechnen lassen.

Einizg alleine stellt sich das Problem, ob die Umrechnung korrekt ist.

Mit dem code habe ich doch so meine Probleme, alleine schon wenn ich die Transformationsparameter in Alltrans einegeb und daraus XYZ berechnen lasse, kommt ein ganz anderes Ergebnis heraus.

MacToolz

mactoolz

Beitrag von mactoolz » 23.09.2006 - 14:02

Hallo,

also ich habe festgestellt das gegenüber Alltrans, das ich einen Unterschied im Hochwert einen Unterschied von ca. 50 Meter habe. Der Rechtswert stimmt bis auf einen Meter.

Ich würde gerne nochmal, auf die Formel zurück kommen und das wir vielleicht Längen und Breitengrad mal festlegen damit nicht jeder mit verschiedenen Ortsangaben rechnet.

Bei meiner Umwandlung ist es egal welche Transformationsparameter ich verwende ich denke es liegt auf jedenfall ein Formelfehler bei mir vor.


MacToolz

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

Beitrag von Roland » 23.09.2006 - 14:37

Na los, mach irgendeinen Vorschlag, der zu Deiner Region passt.
Jetzt nutze ich aber noch das tolle Wetter - und werde auf dem Balkon faulenzen ...

Grüße Roland

mactoolz

Beitrag von mactoolz » 23.09.2006 - 15:06

Hi,

faulenzen ist super gut. Habe ich schon heute geatn. Muste was für die Schule machen und habe mich mal wieder an dieses Thema begangen.

Also hier meine Werte.

GPS Koordinaten aus der Maus

BG = 5057.6858
LG = 700.4194
Höhe = 97.1

Nach der ersten Umrechnung, sind dies meine Ausgangsdaten

7,00701448707163
50,96143

Transformationparameter
dX = -582
dY = -105
dZ = -414
rX = 1,04
rY = 0,35
rZ = -3,08
sC = -8,3

Viel Spass beim faulenzen.


MacToolz

Antworten