Autor |
Beitrag |
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: 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 ...  ... wenn die nicht das Format der Geo-Koordinaten geändert hätten.
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?  Ich habe da jetzt schon ein paar Stunden dran rumgewerkelt, aber ich komme nicht drauf...
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
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 27.05.13 20:19
Hallo,
das ist wie ein Adventsrätsel  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
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
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.
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
      
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: 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" 
Für diesen Beitrag haben gedankt: Narses
|
|
JungerIslaender
      
Beiträge: 427
Erhaltene Danke: 5
Win XP
Delphi 7; Delphi 2005
|
Verfasst: 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 
|
|
Narses 
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 27.05.13 23:35
Moin!
Erstmal ein Danke an alle Mitdenker!
jfheins hat folgendes geschrieben : | 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... 
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 28.05.13 06:34
- Nachträglich durch die Entwickler-Ecke gelöscht -
Für diesen Beitrag haben gedankt: Narses
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Di 28.05.13 12:46
Frühlingsrolle hat folgendes geschrieben : | Die Latitude/Longitude Werte liegen recht beieinander. Das muss doch was heißen  |
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
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Di 28.05.13 15:27
Hallo,
Martok hat folgendes geschrieben : | 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 ...?
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.  )
Beste Grüße
Mathematiker
Nachtrag: Das Geotrans-Programm lieferte nix! 
_________________ 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
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: 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
      
Beiträge: 79
Erhaltene Danke: 23
Win 10, Ubuntu
C#, Java, C
|
Verfasst: 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
      
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: Di 28.05.13 22:32
Joa, je größer die Ordnung des Polynoms, desto besser die Approximation
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
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Di 28.05.13 23:01
jfheins hat folgendes geschrieben : | Joa, je größer die Ordnung des Polynoms, desto besser die Approximation |
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.
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
      
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: 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
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Mi 29.05.13 01:17
jfheins hat folgendes geschrieben : | 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
      
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: 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
      
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: 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  (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
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mi 29.05.13 13:56
Hallo,
jfheins hat folgendes geschrieben : | 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
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Mi 29.05.13 18:02
jfheins hat folgendes geschrieben : | (Die Konstante ist übrigens ziemlich genau der Erdradius) |
1 Bogenminute = 1 Seemeile = 1.852 m (oder genauer: 1.852,216 m)
|
|
|