Autor Beitrag
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 27.05.13 18:39 
Moin!

Ich habe mir ein neues Navi gekauft, ist natürlich wieder eine neue Version der Software drauf, diesmal ist das die Version 7 vom Medion GoPal-Navigator. Das alte Navi hat noch die 5.x. Wollte mir die Favoriten aber rüberziehen. Soweit alles OK, ich habe das File (ist eine SQLite-DB), ich habe einen Editor, ich habe die alten Daten, ich könnte also eigentlich alles ganz schnell abwickeln ... :suspect: ... wenn die nicht das Format der Geo-Koordinaten geändert hätten. :autsch:

Problem: In der 5.x-DB waren das Reals, also ganz simpel. In der 7.x-DB sind das jetzt aber Integers, und ich komme zum Verrecken nicht drauf, in was für einem Format das gemacht ist. Hier mal ein Beispiel:

alt: 51.426692,7.007262
neu: 6689627,779172

Zufällig jemand ne Ahnung, wie man das Umrechnet?! Oder was das überhaupt ist? :nixweiss: Ich habe da jetzt schon ein paar Stunden dran rumgewerkelt, aber ich komme nicht drauf... :eyes:

Das Beispiel ist übrigens so zustande gekommen: ich habe habe die Dec-Koords eingetippert und die Werte aus dem DB-File geholt. Ist also keine "ungefähre" Entsprechung, sondern genau so von der Software abgelegt worden.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.


Zuletzt bearbeitet von Narses am Di 28.05.13 00:26, insgesamt 2-mal bearbeitet
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 27.05.13 20:19 
Hallo,
das ist wie ein Adventsrätsel :wink: und ich hatte bisher keinen Erfolg, wie zu erwarten. :(

Damit andere nicht Ähnliches sinnlos probieren, sage ich mal, was ich versucht habe:
Es sind keine UTM-, UTMREF- oder Gauß-Krüger-Koordinaten, da
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
UTM-Koordinaten (WGS84)
Z: 32U E: 361463 N: 5699160
MGRS / UTMREF-Koordinaten (WGS84)
Z: 32U LB E: 61463 N: 99160
Gauß-Krüger (Bessel, Potsdam)
R: 2570101.299 (E) H: 5699599.990 (N)

Zylinderkoordinaten sind es auch nicht und die Umwandlung von geograph. Länge und Breite in räumliche kartesische Koordinaten bei verschiedensten Werten für den Radius geht ebenso nicht.
Die Zerlegung der Werte in Einzelzahlen
ausblenden Quelltext
1:
2:
6689627 = 102 * 65536 + 4955
779172 = 11 * 65536 + 58276
ergab auch nichts, ebenso irgendwelche Transformationen in Dual-, Oktal- oder Hexadezimalsystem.
Die Berechnung der Entfernung von Essen zum Nullmeridian und Äquator bringt auch nichts. Auch Sinus-, Kosinus-, Tangens-, Arkussinus-, ... Umwandlungen helfen nicht.

Nun habe ich die Ausgangswerte 51.426692 und 7.007262 als real-Werte in eine Datei gelegt und diese anschließend als integer-, int64-, comp-, currency-Variablen ausgelesen. Ergebnis: wieder nichts.

So, jetzt bin ich frustriert. :evil:

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein

Für diesen Beitrag haben gedankt: Narses
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mo 27.05.13 21:53 
Könntest du vielleicht noch zwei weitere Koordinatenpaare umrechnen? Vielleicht ist das ja nur eine lineare Funktion. Quasi ein Ursprung "unten links in der Europakarte" und einem Skalierungsfaktor "damit das ganze Zahlen werden" :gruebel:

Für diesen Beitrag haben gedankt: Narses
JungerIslaender
ontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 427
Erhaltene Danke: 5

Win XP
Delphi 7; Delphi 2005
BeitragVerfasst: Mo 27.05.13 22:16 
Zitat:
Wo sind meine Favoriten und letzten Ziele gespeichert?

Im Gegensatz zu den bisherigen Versionen sind die Favoriten nicht mehr in der Datei Destinations.db gespeichert (die je nach Installation im Verzeichnis \My Flash Disk\settings\0\Navigation oder \My Flash Disk\settings\Navigation lag), sondern in der \My Flash Disk\settings\0\recdests.db. Das Format der DB ist weiterhin eine SQLite-Datenbank.


Das hast du beachtet? Und mehr Daten würden auch helfen :P
Narses Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 27.05.13 23:35 
Moin!

Erstmal ein Danke an alle Mitdenker! :beer:

user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
Könntest du vielleicht noch zwei weitere Koordinatenpaare umrechnen?
Aber sicher doch: ;)

Viktualienmarkt München
48.135209, 11.576593
+48° 8' 6.75", +11° 34' 35.73"
-> lat 6122520, lon 1287258

St. Pauli, Hamburg
53.556996, 9.963995
+53° 33' 25.19", +9° 57' 50.38"
-> lat 7078769, lon 1107946

Bundestag, Berlin
52.520021, 13.372997
+52° 31' 12.08", +13° 22' 22.79"
-> lat 6886989, lon 1487009

The Royal Artillery Barracks, Greenwich, UK
51.483574, 0.058694
+51° 29' 0.87", +0° 3' 31.30"
-> lat 6699777, lon 6526

cu
Narses

//EDIT: Das sind irgendwelche Bruchteile in Anlehung an das E6-Format, aber ich kriege es einfach nicht passend gerechnet... :bawling:

_________________
There are 10 types of people - those who understand binary and those who don´t.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 28.05.13 06:34 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: Narses
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 28.05.13 12:46 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Die Latitude/Longitude Werte liegen recht beieinander. Das muss doch was heißen :gruebel:
Dann wäre die spannende Frage, in welchem Koordinatensystem, bzw. auf welchem Ellipsoid. Wenn alle WGS84 machen würde wäre das ja einfach, aber so kleine Abweichungen können davon kommen...

EDIT: wenn man die 3600 weglässt, wirds etwas einfacher:
1287258 / 11.576593 ~~ 111194, und das bleibt für alle Längen mehr oder weniger genau (5 sig. Stellen) so. Erinnern wir uns an die Schule, 111km ist der Meridianabstand am Äquator. Yay :)

Passt aber für die Breite so gar nicht. Da wird der Quotient nach Norden immer größer, in den Daten hier 127..132km. Eigentlich ist der doch aber immer gleich, oder?

Ich hab auch mal Mathematica drauf geworfen (If in doubt, add CPUs) und einfach alle existierenden Projektionen durchgerechnet, keine passt komplett.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."

Für diesen Beitrag haben gedankt: Narses
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 28.05.13 15:27 
Hallo,
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
1287258 / 11.576593 ~~ 111194, und das bleibt für alle Längen mehr oder weniger genau (5 sig. Stellen) so. Erinnern wir uns an die Schule, 111km ist der Meridianabstand am Äquator. Yay :)
... Passt aber für die Breite so gar nicht. Da wird der Quotient nach Norden immer größer, in den Daten hier 127..132km. Eigentlich ist der doch aber immer gleich, oder?

Die Idee mit den 111 km ist vielversprechend. Bei Bessel sind es 111,307 km, also fast dran. Wer weiß, mit welchem Geoid die rechnen.
Dass es für die Breite nicht passt, könnte daran liegen, dass es ja GPS-Koordinaten sind und bei deren Genauigkeit spielt die Abplattung doch eine Rolle, ebenso die Höhe des Ortes über NN.
Ich rate zwar jetzt nur, aber ich vermute, dass hier ein spezielles, firmeninternes Berechnungsmodell verwendet wird. Ob wir das knacken ...? :nixweiss:
Ich suche aber auch weiter.

Als erstes lade ich mal earth-info.nga.mil/G.../geotrans/index.html. Vielleicht ergibt sich ja etwas.
(Mist! Bei 90 KB/s dauern 143 MB gute 20 Minuten. Ich brauche eine schnellere Leitung. :P )

Beste Grüße
Mathematiker

Nachtrag: Das Geotrans-Programm lieferte nix! :motz:

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein

Für diesen Beitrag haben gedankt: Martok, Narses
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 28.05.13 20:20 
Hallo,
da mich so ein Problem irgendwie "verrückt" macht und ich im Moment keine andere Idee habe, dachte ich, dass man evtl. eine sehr gute Näherungsformel finden kann, welche die Werte hinreichend gut annähert.

Also habe ich mir erst einmal nur die geografische Breite vorgenommen und alles, was mir einfällt, probiert. Die Ergebnisse sind deprimierend.
Zitat:
Wertepaare
X Y
48.135209 6122520
53.556996 7078769
52.520021 6886989
51.483574 6699777
Anzahl der Wertepaare 4

Lineare Regression
Korrelationsfunktion 175735,859583*X-2340018,3064034
x y f(x) Abweichung
48,135209 6122520 6119064,0234191 3455,9765809
51,483574 6699777 6707491,8248918 -7714,8248918
52,520021 6886989 6889632,729349 -2643,729349
53,556996 7078769 7071866,4223401 6902,5776599
Korrelationskoeffizient 0,999877

Nichtlineare Regression
Korrelationsfunktion 1733,706434*X^2+2105179,064924
Korrelationskoeffizient 0,999999
Korrelationsfunktion 1686476,320069*1,02715^X
Korrelationskoeffizient 0,999993
Korrelationsfunktion 31974,991553*X^(1,35633)
Korrelationskoeffizient 0,999947
Abweichungen sind groß!

Methode der kleinsten Quadrate
Y = -2340017,98049225 +175735,83103222*X
Y = 2590756,12263246 -19192,37746289*X +1923,00501014*X^2
Y = -2323260,52906535 +269742,95422096*X -3734,45794667*X^2 +36,89060757*X^3
Abweichungen sind größer!

Kubische Splines (4 Werte)
von -1000 bis 48,14 … Y = 250,94121*X^3-36237,32339*X^2+1913877,35924*X-30027821,12611
von 48,14 bis 51,48 … Y = -9,78911*X^3+4032,66382*X^2-159365,50707*X+5551496,38311
von 51,48 bis 52,52 … Y = -800,49845*X^3+128616,87727*X^2-6702531,01408*X+120100559,66114

Kubische Splines (5 Werte)
von -1000 bis 48,14 … Y = 277,33376*X^3-40048,5553*X^2+2097036,26878*X-32957134,83418
von 48,14 bis 51,43 … Y = -6388,58389*X^3+988369,7264*X^2-50791113,95125*X+873663735,77062
von 51,43 bis 51,48 … Y = 340,90905*X^3-51005,31699*X^2+2719628,00862*X-44644345,39131
von 51,48 bis 52,52 … Y = -870,58809*X^3+139878,24843*X^2-7305580,85574*X+130863714,63725
Abweichungen sind undiskutabel!

Egal ob lineare oder nichtlineare Regression, Methode der kleinsten Quadrate oder (vollkommen irrsinnig) kubische Splines. Nichts gibt eine einigermaßen genaue Näherung. Dass eine Korrelation vorliegt, habe ich zwar bewiesen (das wussten wir auch vorher), aber mehr nicht.
Sorry, aber mein Latein ist am Ende.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein

Für diesen Beitrag haben gedankt: Narses
papa69
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 79
Erhaltene Danke: 23

Win 10, Ubuntu
C#, Java, C
BeitragVerfasst: Di 28.05.13 21:55 
schau mal hier

forum.geoclub.de/vie...t=40679&start=10

ich denke, da kannst du dir ein paar "Ideen" holen ... (Regressionsanalyse) ;-)

viel Glück/Spaß

_________________
Daniel Bauer
... fatal ist nur, wenn sich das Licht am Ende des Tunnels als entgegenkommender ICE entpuppt ...

Für diesen Beitrag haben gedankt: Narses
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Di 28.05.13 22:32 
Joa, je größer die Ordnung des Polynoms, desto besser die Approximation 8)

Da ich leider auch nicht auf das verfahren gekommen bin, hier die Koeffizienten von meinem besten Fit auf 10 sig. Stellen::
19.37985882 -1052.661675 132961.2761 0

Damit errechnet sich deine Original-Koordinate wie folgt:
n = 51.426692;
19.37985882*n^3 - 1052.661675*n^2 + 132961.2761*n
= 6689603,18

Eine Abweichung von 24. Da sollte circa 143 m auf der Erdoberfläche entsprechen.

Für diesen Beitrag haben gedankt: Narses
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Di 28.05.13 23:01 
user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
Joa, je größer die Ordnung des Polynoms, desto besser die Approximation 8)

Einverstanden. Überrascht bin ich, dass bei Dir das Absolutglied 0 ist. Das bedeutet etwas, vermute ich.
Aus den letzten 4 Punkten habe ich für die Breite
Zitat:
1504795,96792856 +21020,97650533*n +1451,19026248*n^2 +9,83787337*n^3 -0,11212954*n^4 -0,00351682*n^5 +0,00005282*n^6

gewonnen. Setzt man den 1.Punkt ein, ergibt sich 6689607, ein Abweichung von 20.
Für die Länge wird
Zitat:
1144,42520705 +91507,06161595*n +3098,86810912*n^2 -80,89384013*n^3 +10,17477516*n^4 -2,41081525*n^5 +0,10614436*n^6

mit einem Ergebnis 763052, was sehr stark von 779712 abweicht.
Irgendwie wird es nichts. Vielleicht sind die Faktoren, z.B. 0,00005282*n^6, auch zu ungenau oder meine Berechnung (Delphi-Programm) ist falsch. Ich denke, dass Mathematica das besser und genauer kann; habe ich nur leider nicht.
Vielleicht brauchen wir auch mehr Punkte. :nixweiss:

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein

Für diesen Beitrag haben gedankt: Narses
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mi 29.05.13 00:13 
Also bei der Länge reicht doch eine einziger Faktor!
Mit einem Faktor von 111195 komme ich auf Abweichungen < 2 - das sollte reichen...

Was die Breite angeht: Du hast da ein overfitting. n^6 kannst du mit den wenigen Datenpunkten eigentlich nicht mehr fitten!

Was gerade noch geht ist n^3 - und da bekomme ich auch schon eine Warnung:
Zitat:
Warning: Polynomial is badly conditioned. Add points with distinct X
values, reduce the degree of the polynomial, or try centering
and scaling as described in HELP POLYFIT.

(Ich benutze übrigens Matlab)

Wegen der Warnung war ich erst zurückhaltend, aber das Polynom dritten Grads sieht bei mir so aus:
37,54521380 -3835,405030 274926,5633 -2411888,122

Und das trifft alle Punkte sehr gut. In aufsteigender Reihenfolge sortiert:
6122520,00
6689626,94
6699777,06
6886988,99
7078769,00

Ich wäre auch glücklicher, wenn das mit Winkelfunktionen oder so exakt gelöst wäre. Aber so ein Fit sollte für's erste auch reichen ;-)

Für diesen Beitrag haben gedankt: Narses
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Mi 29.05.13 01:17 
user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
Ich wäre auch glücklicher, wenn das mit Winkelfunktionen oder so exakt gelöst wäre.

Die Abschnitte der Längengraden haben vom Äquator bis zum jeweiligen Pol die gleichen Längen. Nur bei den Breitengraden nimmt die Länge zwischen zwei Längengraden vom Äquator zum jeweiligen Pol hin ab. Ich bin zwar kein Mathematiker, und auch mein Schulbesuch liegt auch schon 40 Jahre zurück, aber ich meine (wenn ich mich nicht irre), dass bei den Breitengraden mit dem Cosinus-Wert des jeweiligen Breitengrades multipliziert werden muss.

Für diesen Beitrag haben gedankt: Narses
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Mi 29.05.13 11:04 
Ich hatte vor ein paar Jahren ein vergleichbares Problem. Auch bei mir sahen die Zahlen plötzlich völlig anders aus und da ich in derselben Region "zugange" bin, was die Geo-Koordinaten angeht, kommen mir sowohl die alten als auch die neuen Zahlen bekannt vor.

In meinem Fall wurde die Projektion nach Mercator umgestellt, dadurch änderten sich die Koordinaten-Angaben vom WGS84-Float-Format (52,68887676 / 8,565277262) in eben solche Integer-Werte.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.

Für diesen Beitrag haben gedankt: Narses
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mi 29.05.13 12:13 
Ah, darauf hätte ich auch kommen können :-/

ich habe zwar mit diversen Winkelfunktionen rumgespielt, aber natürlich nicht in Wikipedia nach möglichen Projektionen gesucht. (Zumal andere ja schon viel durchprobiert hatten)

Die Formel ist also nun: 6371000.166 * asinh(tan(Nord))

Für die gegebenen Koordinaten ergibt sich dann:
6122519,86
6689626,75
6699777,15
6886988,80
7078769,42

Die Werte sind jetzt ein kleines bisschen schlechter als die von dem Polynom. Ich halte die Formel aber dennoch für besser weil die einen Zusammenhang mit der Realität hat :D (Die Konstante ist übrigens ziemlich genau der Erdradius)

Die Konstante für die Länge habe ich dann auch noch mal kurz mit least-squares ermittelt: 111194,911

Für diesen Beitrag haben gedankt: Mathematiker, Narses
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mi 29.05.13 13:56 
Hallo,
user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
6371000.166 * asinh(tan(Nord))

Gratulation. Das dürfte die Lösung sein.
Ich hatte auch einmal "gespielt" und als Näherungspolynom
Zitat:
Y = 37.54521354*X^3-3835.40498922*X^2+274926.56126185*X-2411888.08691371

Fehlerauswertung
x y y berechnet % Fehler
48,1352 6122520 6122520,0002 0
53,557 7078769 7078769,0012 0
52,52 6886989 6886988,9954 0
51,4836 6699777 6699777,0603 0,000001
51,4267 6689627 6689626,9437 -0,000001
erhalten. Es weicht nur wenig von Deinem ab. Dennoch ist natürlich die trigonometrische Lösung zu bevorzugen.
Ich habe die Formel 6371000.166 * asinh(tan(Nord)) mal durch eine Taylor-Entwcklung geschickt, mit dem Ergebnis
Zitat:
23.9510195912 n^3 - 1861.09668027 n^2 + 179248.804838 n - 864814

Die Näherungen sind aber nicht so gut.

Es war ein schönes aber auch merkwürdiges Rätsel.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Mi 29.05.13 18:02 
user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
(Die Konstante ist übrigens ziemlich genau der Erdradius)

1 Bogenminute = 1 Seemeile = 1.852 m (oder genauer: 1.852,216 m)