Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-22 Diskussionsfäden Florian Heer
Sascha Silbe schrieb:
>> Qualität hat leider ihren Preis - bin ich aber auch bereit zu
>> zahlen, wenn's okay ist.
> Solange man entsprechend Einkommen hat, ist das sinnvoll. Ich stotter 
> mir hier allerdings schon die Studiengebühren ab und muß dafür 
> arbeiten gehen...
>
> Nun wirds aber definitiv OT => FUp2 private. :)
>

bei letzterem: ja, aber allgemein: nein

Mein Ziel ist irgendwann lustigerweise auch ein AVR (vor allem deshalb, 
weil mein privater Löthelfer sich schon mit denen auseinander gesetzt 
hat), zwar zum loggen und nicht zur Navigation, aber was macht das schon.

Was ich vor allem im Moment herausfinden will ist, ob es sinnvoll ist, 
mehrere (z.B. 4) unterschiedliche GPS-Empfänger an einen Microcontroller 
zu packen und als Ergebnis im Log einen "Durchschnitt" der Empfänger zu 
bekommen.

Also: MC-Diskussionen schön weiter hier führen :-)

Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-22 Diskussionsfäden Florian Heer
Johann H. Addicks schrieb:
> Nur als Randnotiz: Garmin Mapsource 6.1irgendwas meint dazu "8,4km"
>   

Jop, darauf bin ich ja auch schon gekommen :-)

> Was mich wundert ist jedoch das Profil des Tracks, da sind ziemliche
> Sprünge drin.
>   

Echt? Das wundert Dich?
Hmm.. bei meinen beiden Kabel-GPS-Mäusen bin ich völlig gewohnt daran, 
dass die Höheninformationen ziemlich für'n Arsch sind. Ist das etwa bei 
anderen Geräten besser? Ich hab mir die Höhen bei meinem neuen i-Blue 
noch nicht angesehen, da ich dachte, das wäre eh normal und 
GPS-inherent, also dass Höhen eher geraten sind, als dass sie was taugen...

Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-21 Diskussionsfäden Sascha Silbe

On Sun, Sep 21, 2008 at 05:19:43PM +0200, Detlef Reichl wrote:


Ich habe schon mal ein wenig mit den Magnetfeldsensoren von Philips
herumgespielt. Damals mit dem KMZ 10 A, der aktuelle Nachfolger ist 
der

KMZ 10 B. Den bekommst Du z.B. bei segor für 2,80 das Stück.

Volltreffer. Danke für den Tip!

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-21 Diskussionsfäden Tobias Wendorff
Detlef Reichl schrieb:
> Ich habe schon mal ein wenig mit den Magnetfeldsensoren von Philips
> herumgespielt. Damals mit dem KMZ 10 A, der aktuelle Nachfolger ist der
> KMZ 10 B. Den bekommst Du z.B. bei segor für 2,80 das Stück.

Habe ich damals auch schon dran gedacht. Aber das Layout und die
verwendeten Bausteine sind sehr wichtig ... selbst teure Widerstände
bauen ein Magnetfeld auf und für SMD sind meine Hände zu dick.

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-21 Diskussionsfäden Detlef Reichl
Am Sonntag, den 21.09.2008, 15:39 +0200 schrieb Sascha Silbe:
> On Sun, Sep 21, 2008 at 01:32:10PM +0200, Tobias Wendorff wrote:
> 
> > Kennst Du eigentlich ein vernünftiges, elektronisches Kompass-Modul?
> Leider nein. Bin selbst auf der Suche nach was (für mich) bezahlbarem. 
> Ich finde hier in DE nicht mal eine günstige Bezugsquelle für die 
> Sensoren (so daß ich selbst eins bauen könnte).

Ich habe schon mal ein wenig mit den Magnetfeldsensoren von Philips
herumgespielt. Damals mit dem KMZ 10 A, der aktuelle Nachfolger ist der
KMZ 10 B. Den bekommst Du z.B. bei segor für 2,80 das Stück.

Grüßle, detlef

> Überhaupt fehlt mir für viele Teile eine günstige Quelle. 
> Weitverbreitete elektronische Bauteile (-> Reichelt) und manche Teile 
> aus dem Baumarkt sind kein Problem, aber insbesondere Richtung Mechanik 
> wirds schnell teuer...
> 
> CU Sascha
> 
> ___
> Talk-de mailing list
> Talk-de@openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-de


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-21 Diskussionsfäden Sascha Silbe

On Sun, Sep 21, 2008 at 03:57:51PM +0200, Tobias Wendorff wrote:


Zur Zeit verwende ich das hier:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=137

Sieht sehr gut aus.


Qualität hat leider ihren Preis - bin ich aber auch bereit zu
zahlen, wenn's okay ist.
Solange man entsprechend Einkommen hat, ist das sinnvoll. Ich stotter 
mir hier allerdings schon die Studiengebühren ab und muß dafür 
arbeiten gehen...


Nun wirds aber definitiv OT => FUp2 private. :)

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-21 Diskussionsfäden Tobias Wendorff
Sascha Silbe schrieb:
> Ich finde hier in DE nicht mal eine günstige Bezugsquelle für die 
> Sensoren (so daß ich selbst eins bauen könnte).

Zur Zeit verwende ich das hier:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=137

Qualität hat leider ihren Preis - bin ich aber auch bereit zu
zahlen, wenn's okay ist.

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-21 Diskussionsfäden Sascha Silbe

On Sun, Sep 21, 2008 at 01:32:10PM +0200, Tobias Wendorff wrote:


Kennst Du eigentlich ein vernünftiges, elektronisches Kompass-Modul?
Leider nein. Bin selbst auf der Suche nach was (für mich) bezahlbarem. 
Ich finde hier in DE nicht mal eine günstige Bezugsquelle für die 
Sensoren (so daß ich selbst eins bauen könnte).
Überhaupt fehlt mir für viele Teile eine günstige Quelle. 
Weitverbreitete elektronische Bauteile (-> Reichelt) und manche Teile 
aus dem Baumarkt sind kein Problem, aber insbesondere Richtung Mechanik 
wirds schnell teuer...


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-21 Diskussionsfäden Tobias Wendorff
Sascha Silbe schrieb:
> Sorry, habe für kürzeste/längste die Folge mit lat/lon vertauscht genommen.
> Damit ist jetzt endlich alles aufgeklärt. :)
> Und man sieht schön, daß für solche Strecken die einfache Methode 
> ausreicht, zumindest zur GPS-Navigation (9m Differenz simple/Vincenty, 
> 15m Genauigkeit GPS). Prima, mehrere KB Code gespart (AVR hat keine 
> Fließkommaeinheit), jetzt dürfte sogar ein ATmega8 reichen. :D

Kennst Du eigentlich ein vernünftiges, elektronisches Kompass-Modul?

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-21 Diskussionsfäden Sascha Silbe

On Sun, Sep 21, 2008 at 03:24:36AM +0200, Florian Heer wrote:


Exp-080803-8,53km-.gpx is 8.418472284178437 km long (simple)
shortest: 0.14556823651036202m longest: 25.575952006157056m
Exp-080803-8,53km-.gpx is 8.427542410160084 km long (Vincenty)
shortest: 0.1456457768180979m longest: 25.568516730442123m

0.14564577681809787m 25.568516731795896m

Sorry, habe für kürzeste/längste die Folge mit lat/lon vertauscht 
genommen.

Damit ist jetzt endlich alles aufgeklärt. :)
Und man sieht schön, daß für solche Strecken die einfache Methode 
ausreicht, zumindest zur GPS-Navigation (9m Differenz simple/Vincenty, 
15m Genauigkeit GPS). Prima, mehrere KB Code gespart (AVR hat keine 
Fließkommaeinheit), jetzt dürfte sogar ein ATmega8 reichen. :D


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Johann H. Addicks
Florian Heer schrieb:

> Klar, auf die Idee hätte ich auch schon länger kommen können... :-)
> http://www.openstreetmap.org/user/florianheer/traces/160678

Nur als Randnotiz: Garmin Mapsource 6.1irgendwas meint dazu "8,4km"

Was mich wundert ist jedoch das Profil des Tracks, da sind ziemliche
Sprünge drin.

-jha-
<>___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Florian Heer
Nachtrag zum Nachtrag (ich hätte ja längst schlafen sollen, aber das 
lies mir dann doch keine Ruhe):

Fehler gefunden! Jubel, danke an alle!

Der Fehler lag letztlich beim Timestamp, der in der DB nur sekundengenau 
von mir vorgehalten wurde. Meine Annahme war, dass meine GPS-Mouse nur 
mit 1Hz updatet und damit auch die Loggersoftware nur jede Sekunde einen 
Eintrag im GPX erzeugt. Mindestens letztere Annahme war stumpf falsch.

Somit hatte ich mehrere Einträge, die in der selben Sekunde entstanden 
(weiss jetzt gerade noch nicht, ob die Uhrzeit des PDA mittendrin durch 
Noni geändert wurde, oder ob es auf einander folgende Werte in der 
selben Sekunde waren) und durch das Sortieren der DB-Abfrage umgewürfelt 
wurden.

Ich habe die Punkte nach Auftreten im GPX-Log nummeriert und danach 
sortiert. Das Ergebnis ist endlich ein allseits anerkannter Wert (auch 
wenn ich bei kürzester/längster Differenz noch nicht mit Sascha 
übereinstimme...):
Exp-080803-8,53km-.gpx is 8.418472284178437 km long (simple)
shortest: 0.14556823651036202m longest: 25.575952006157056m
Exp-080803-8,53km-.gpx is 8.427542410160084 km long (Vincenty)
shortest: 0.1456457768180979m longest: 25.568516730442123m


So, gute Nacht!



___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Florian Heer
Holger Issle schrieb:
> On Fri, 19 Sep 2008 03:42:11 +0200, Florian Heer wrote:
>
>   
>> Vielleicht andere Implementationen, bei denen ich Tracks hochladen kann
>> um Ergebnisse zu vergleichen...?
>> 
>
> Nimm TTQV von www.ttqv.de, importiere den Track und lese ab wie lang
>   
Okay... auch wenn es etwas gewöhnungsbedürftig ist, der berechnet den 
Track auf 8.42 km.

Danke auch für den Tip, eine Vergleichsmöglichkeit.

Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Florian Heer
Florian Heer schrieb:
> Na, doch nicht erst morgen, ich musste es jetzt wissen:
> 50/0 bis 50/1.4:
> simple: 100.17881385804266 km
> vincenty: 100.3725890072382 km
> lineal: 100.2 km (nicht ganz genau auf den Punkten...)
>   

Nachtrag zum Nachtrag: nach 
http://www.movable-type.co.uk/scripts/latlong-vincenty.html ist das eine 
Distanz von 100372.590 m

Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Florian Heer
Florian Heer schrieb:
> Hehe, ich guck mir morgen mal genau an, was bei raus kommt, wenn ich 
> Distanzen berechne, die ich mir bei Google Earth mit dem Lineal vorgebe.
>   

Na, doch nicht erst morgen, ich musste es jetzt wissen:
50/0 bis 50/1.4:
simple: 100.17881385804266 km
vincenty: 100.3725890072382 km
lineal: 100.2 km (nicht ganz genau auf den Punkten...)

Das sieht doch eigentlich gar nicht so verkehrt aus *kopfkratz*

Grüße, Florian.



___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Florian Heer
Hi!

Sascha Silbe schrieb:
> On Fri, Sep 19, 2008 at 03:42:11AM +0200, Florian Heer wrote:
>
>> http://www.openstreetmap.org/user/florianheer/traces/160678
> Habs gerade mal kurz von Python durchrechnen lassen (mittels 
> Vincenty), komme auf 8427.5424101584249m (lat/lon korrekt) bzw. 
> 11603.755080105428m (lat/lon vertauscht). Keine Filterung (967 Punkte, 
> 966 Segmente), keine Glättung, eingebauter Fließkommatyp (IEEE 754 
> double precision). Maximale Einzeldistanz ist ca. 37.88m, minimale >0 
> ist ca. 18.4cm.

Mit kurz-/lang-Auswertung:
Exp-080803-8,53km-.gpx is 10.421032628337267 km long (simple)
shortest: 0.14556823651036202m longest: 43.1536557160521m
Exp-080803-8,53km-.gpx is 10.432387536300029 km long (Vincenty)
shortest: 0.1456457768180979m longest: 43.155324462589306m


Lustig, hab gerade mal bei mir Lat/Lon getauscht:
Exp-080803-8,53km-.gpx is 14.463829250546146 km long (simple)
shortest: 0.18494348788838302m longest: 66.67561313341307m
Exp-080803-8,53km-.gpx is 14.39166351008208 km long (Vincenty)
shortest: 0.18420196663375732m longest: 66.26012533075907m

Da tauchen wenigstens die ca 18.4cm auf.

Nochmal zur Klärung, was ich da aufsummiere, bzw. was ich da mache, 
vielleicht ist da ja schon ein Fehler:
Parsen des Tracks auf _einfachste_ Art und Weise: alle trkpt werden mit 
Lat (double) / Lon (double) / Time (DateTime) in eine MySQL-DB 
geschrieben. Select auf alle Punkte, sortiert nach Zeit, aufsteigend.
Dann Distanz zwischen Punkt und Vorgänger berechnen und aufsummieren. 
Und nein: ich habe nicht vergessen, dass ich beim ersten Punkt noch 
keinen Vorgänger habe :-)

>> Sofern OSM da keine Glättungen macht, aber ich kanns mir nicht 
>> wirklich vorstellen...
> Da fällt mir noch was ein: Welche Datenformate hast Du benutzt und 
> wieviele Nachkommastellen wurden da jeweils gespeichert? Das GPX sieht 
> aus, als wären beim Upload nur 5 Stellen hinter dem Komma angegeben 
> worden, das ist eine Auflösung von 1.1m (Latitude) bzw. 0.7m 
> (Longitude). 94 der von mir berechneten Werte sind kleiner als 2*1.1m, 
> mit einer Summe von 91.8m. Kein großer Fehler (dürfte im Bereich um 1% 
> sein), aber kleinere Unterschiede könnte es erklären.

Das "Original" des Tracks ist NoniGPSPlot, von dort nach GPX exportiert. 
Dieses GPX wurde ungeändert nach OSM hochgeladen und bildet gleichzeitig 
die Basis für meinen lokalen Import. In dem Track sind etwas mehr 
Nachkommastellen (die auch korrekt in meine DB geparst wurden, ich habs 
jetzt extra nochmal geprüft, so langsam bin ich verwundert...), Auszug:

  
215.2
2008-08-03T18:44:24Z
0.0
0.0
  
  
215.1
2008-08-03T18:44:24Z
0.0
0.0
  
  
215.1
2008-08-03T18:44:31Z
0.0
0.0
  


> So, jetzt haben wir die Daten mit 3 Implementierungen (Noni-GPS, 
> Deine, meine) durchrechnen lassen und kommen auf 3 unterschiedliche 
> Werte. Prima. ;)

Hehe, ich guck mir morgen mal genau an, was bei raus kommt, wenn ich 
Distanzen berechne, die ich mir bei Google Earth mit dem Lineal vorgebe.

> Bei Deinen 10.42km würde ich ja fast auf lat/lon vertauscht tippen. 
> Das GPX deckt sich recht gut mit der Karte, dürfte also korrekt sein.

Das GPX ist an sich recht okay, aber lat/lon Tausch... Selbst wenn ich 
den Test nicht jetzt gerade gemacht hätte würde es mich wundern, da, wie 
schon erwähnt, bei den meisten der Tracks die Distanzangabe von Noni mit 
meinen Berechnungen harmoniert. Aber wo Du mit Deinen Werten zumindest 
zwischen die 8.53 (Noni) und 8.3 (Kompf-upload) gekommen bist, muss wohl 
doch etwas bei mir schief liegen.

> In welcher Form liegen denn die Rohdaten vor?
GPX bzw. Nonis eigenes .ngt-Format.


Viele Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Sascha Silbe

On Fri, Sep 19, 2008 at 03:42:11AM +0200, Florian Heer wrote:

Bei einigen (ca. 20%) der Tracks, stimmen die Werte aber nicht (Fehler 
weit über 1%), weshalb ich zweifeln muss, entweder an meiner 
Implementation oder der anderer Software.
Einen Track hab ich mir speziell angesehen, laut Noni-GPS ist der 8.53 
km, laut meiner Berechnung 10.42 und laut 
http://www.kompf.de/trekka/#client=®ion=Deutschland

ist er 8.3 km lang.


On Sat, Sep 20, 2008 at 10:44:40PM +0200, Florian Heer wrote:


http://www.openstreetmap.org/user/florianheer/traces/160678
Habs gerade mal kurz von Python durchrechnen lassen (mittels Vincenty), 
komme auf 8427.5424101584249m (lat/lon korrekt) bzw. 11603.755080105428m 
(lat/lon vertauscht). Keine Filterung (967 Punkte, 966 Segmente), keine 
Glättung, eingebauter Fließkommatyp (IEEE 754 double precision). 
Maximale Einzeldistanz ist ca. 37.88m, minimale >0 ist ca. 18.4cm.


Sofern OSM da keine Glättungen macht, aber ich kanns mir nicht 
wirklich vorstellen...
Da fällt mir noch was ein: Welche Datenformate hast Du benutzt und 
wieviele Nachkommastellen wurden da jeweils gespeichert? Das GPX sieht 
aus, als wären beim Upload nur 5 Stellen hinter dem Komma angegeben 
worden, das ist eine Auflösung von 1.1m (Latitude) bzw. 0.7m 
(Longitude). 94 der von mir berechneten Werte sind kleiner als 2*1.1m, 
mit einer Summe von 91.8m. Kein großer Fehler (dürfte im Bereich um 1% 
sein), aber kleinere Unterschiede könnte es erklären.


So, jetzt haben wir die Daten mit 3 Implementierungen (Noni-GPS, Deine, 
meine) durchrechnen lassen und kommen auf 3 unterschiedliche Werte. 
Prima. ;)
Bei Deinen 10.42km würde ich ja fast auf lat/lon vertauscht tippen. Das 
GPX deckt sich recht gut mit der Karte, dürfte also korrekt sein.

In welcher Form liegen denn die Rohdaten vor?

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Florian Heer
Sascha Silbe schrieb:
> Also nur 1 Promille. Gut zu wissen (=> für mein Roboterchen reicht die 
> einfache Formel), Danke für die Werte!

Aber immer doch.
> Wenn Du den Track mal online stellst, kann ich das gern mal kurz 
> durchrechnen (=> andere Implementierung). Auch wenn ich nicht glaube, 
> daß da andere Ergebnisse bei rauskommen.

Klar, auf die Idee hätte ich auch schon länger kommen können... :-)
http://www.openstreetmap.org/user/florianheer/traces/160678

Sofern OSM da keine Glättungen macht, aber ich kanns mir nicht wirklich 
vorstellen...

Ciao, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-20 Diskussionsfäden Sascha Silbe

On Sat, Sep 20, 2008 at 12:57:22AM +0200, Florian Heer wrote:

Okay, danke, dann hab ich ja Vergleiche, wo ich bei weiß, was genau 
berechnet wird. Der beschriebene Track, der mich so gewundert hat, hat 
jetzt

10.421032628337267 km (simple)
bzw.
10.432387536300029 km (Vincenty)
Also nur 1 Promille. Gut zu wissen (=> für mein Roboterchen reicht die 
einfache Formel), Danke für die Werte!


- Massive Rundungsfehler (ich glaub nicht, aber glauben kann ich in 
der Kirche oder so ähnlich)
Mir fällt gerade noch was ein: Du summierst ja relativ kleine Werte 
auf. Kann es sein, daß Du nicht genau genug rechnest und Dir dadurch 
beim Summieren (große + kleine Zahl) Rundungsfehler einfängst?
Sicher möglich, aber die Differenzen der Zahlen sind nicht so massiv, 
es sind 10^5:1-10^7:1, das sollte ein double noch nicht in 
Auflösungsprobleme bringen.

OK, double sollte da eigentlich passen. Schade. :)
Wenn Du den Track mal online stellst, kann ich das gern mal kurz 
durchrechnen (=> andere Implementierung). Auch wenn ich nicht glaube, 
daß da andere Ergebnisse bei rauskommen.


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Florian Heer
Hi, Sascha!

Sascha Silbe schrieb:
> On Fri, Sep 19, 2008 at 03:42:11AM +0200, Florian Heer wrote:
>
>> - Massive Rundungsfehler (ich glaub nicht, aber glauben kann ich in 
>> der Kirche oder so ähnlich)
> Mir fällt gerade noch was ein: Du summierst ja relativ kleine Werte 
> auf. Kann es sein, daß Du nicht genau genug rechnest und Dir dadurch 
> beim Summieren (große + kleine Zahl) Rundungsfehler einfängst?

Sicher möglich, aber die Differenzen der Zahlen sind nicht so massiv, es 
sind 10^5:1-10^7:1, das sollte ein double noch nicht in 
Auflösungsprobleme bringen.

Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Florian Heer
Sascha Silbe schrieb:
> On Fri, Sep 19, 2008 at 03:42:11AM +0200, Florian Heer wrote:
>
>> Bei einigen (ca. 20%) der Tracks, stimmen die Werte aber nicht 
>> (Fehler weit über 1%),
> Fehler von 1% würde ich bei Deiner Formel durchaus erwarten. Nimm 
> Vincenty's Algorithmus, der ist besser. Gibts auf [1] in JavaScript, 
> meine Übersetzungen in C und Python habe ich angehängt. Lizenz ist LGPL.

Okay, danke, dann hab ich ja Vergleiche, wo ich bei weiß, was genau 
berechnet wird. Der beschriebene Track, der mich so gewundert hat, hat jetzt
10.421032628337267 km (simple)
bzw.
10.432387536300029 km (Vincenty)

Dann gehe ich jetzt mal davon aus, dass Noni irgendwas doch glättet und 
wohl viele anderen Anzeiger auch, und dass meine Formel zumindest als 
Überschlagsrechnung nicht falsch ist... :-)

Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Sascha Silbe

On Fri, Sep 19, 2008 at 03:42:11AM +0200, Florian Heer wrote:

- Massive Rundungsfehler (ich glaub nicht, aber glauben kann ich in 
der Kirche oder so ähnlich)
Mir fällt gerade noch was ein: Du summierst ja relativ kleine Werte 
auf. Kann es sein, daß Du nicht genau genug rechnest und Dir dadurch 
beim Summieren (große + kleine Zahl) Rundungsfehler einfängst?


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Holger Issle
On Fri, 19 Sep 2008 13:50:08 + (GMT), Florian Heer wrote:

> bei einer Updatefrequenz von 1Hz ist die Streckendifferenz
> zwischen 2 Punkten geradezu mickrig.

In der Tat, da kannst Du letztlich einfache Geometrie nehmen, das darf
auf keinen Fall eine Abweichung bringen die Du gefunden hast.
-- 

Ciao,
Holger (GUS-KOTAL, GUS#1100, GRR#51)

90-92 Honda CB400 10 Mm | 93-95 Yamaha TDM 850 26 Mm
95-97 KTM 620 LC4 13 Mm | seit 97 BMW R1100GS 69 Mm (Die Renndrecksau!)

cu @ http://www.issle.de


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Florian Heer
Hallo Tobias,

--- Tobias Wendorff <[EMAIL PROTECTED]> schrieb am Fr, 19.9.2008:

> Das geht von perfekten Kugeln aus: Great Circle.
> 
> Lies mal die Ergänzungen :-)

... in denen auch klar steht, dass für kurze Distanzen die Unterschiede 
unerheblich sind.
Ich versuchte, die Distanz von einzelnen Punkten eines Tracks zu berechnen, bei 
einer Updatefrequenz von 1Hz ist die Streckendifferenz zwischen 2 Punkten 
geradezu mickrig.

> In was für einer DB hast Du es? Postdingsbums hat glaube
> ich
> eigene, interne Routinen zum Berechnen (basierend auf
> Proj.4).
> Guck' mal ob Du "geod" auf dem Rechner hast.

Project 4 hab ich auch schon gefunden, aber es geht mir gerade nicht darum, 
externe Libraries zu nutzen, schließlich will ich verstehen und nicht nur 
nutzen.

Grüße, Florian.

__
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails. 
http://mail.yahoo.com 

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Sascha Silbe

On Fri, Sep 19, 2008 at 02:37:20PM +0200, Florian Heer wrote:

Nimm Vincenty's Algorithmus, der ist besser. Gibts auf [1] in 
JavaScript, meine Übersetzungen in C und Python habe ich angehängt. 
Lizenz ist LGPL.
Danke, seh ich mir an, sobald ich dazu komme. Ist das die 
Großkreisberechnung?
Nop, ist genauer als Great Circle (=Haversine). Benutzt das 
WGS84-Ellipsoid statt einer Kugel.


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/


signature.asc
Description: Digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Tobias Wendorff
Florian Heer schrieb:
> Danke, seh ich mir an, sobald ich dazu komme. Ist das die 
> Großkreisberechnung?

Nein, die Ellipsoiden-Berechnung.

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Tobias Wendorff
Hallo,

Florian Heer schrieb:
> Tobias Wendorff schrieb:
>> Faustformel? Was / wofür ist die?
>>   
> 
> mehr oder weniger, hab ich von http://www.kompf.de/gps/distcalc.html

Das geht von perfekten Kugeln aus: Great Circle.

Lies mal die Ergänzungen :-)

>> Ich habe vor einiger Zeit ein sehr gutes PHP-Script geschrieben,
>> welches auf Basis von Vincenty arbeitet, als ziemlich genau ist.
>>
>> Liegen Deine Tracks in OSM oder GPX vor? Wenn sie in OSM vorliegen,
>> schreibe ich das Script diesbezüglich um, um Wege zu beachten.
> 
> Meine Basteltracks hab ich hier in GPX bzw. jetzt in einer DB, das geht 
> erheblich schneller als ständig Text zu parsen...

In was für einer DB hast Du es? Postdingsbums hat glaube ich
eigene, interne Routinen zum Berechnen (basierend auf Proj.4).
Guck' mal ob Du "geod" auf dem Rechner hast.

Grüße
Tobias

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Florian Heer
Sascha Silbe schrieb:
> On Fri, Sep 19, 2008 at 03:42:11AM +0200, Florian Heer wrote:
>
>> Bei einigen (ca. 20%) der Tracks, stimmen die Werte aber nicht 
>> (Fehler weit über 1%),
> Fehler von 1% würde ich bei Deiner Formel durchaus erwarten. 

Wegen der vereinfachten Formel hab ich ehrlich gesagt nicht so einen 
großen Fehler erwartet, vielleicht Rundung etc... aber ich hab ja schon 
nur die totalen Ausreisser mir angesehen.

> Nimm Vincenty's Algorithmus, der ist besser. Gibts auf [1] in 
> JavaScript, meine Übersetzungen in C und Python habe ich angehängt. 
> Lizenz ist LGPL.
>
Danke, seh ich mir an, sobald ich dazu komme. Ist das die 
Großkreisberechnung?

Ciao, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Florian Heer
Tobias Wendorff schrieb:
> Faustformel? Was / wofür ist die?
>   

mehr oder weniger, hab ich von http://www.kompf.de/gps/distcalc.html

> Ich habe vor einiger Zeit ein sehr gutes PHP-Script geschrieben,
> welches auf Basis von Vincenty arbeitet, als ziemlich genau ist.
>
> Liegen Deine Tracks in OSM oder GPX vor? Wenn sie in OSM vorliegen,
> schreibe ich das Script diesbezüglich um, um Wege zu beachten.
>   

Meine Basteltracks hab ich hier in GPX bzw. jetzt in einer DB, das geht 
erheblich schneller als ständig Text zu parsen...

Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Florian Heer
Dirk Stöcker schrieb:
> On Fri, 19 Sep 2008, Florian Heer wrote:
>
>> und das dann für jeden Punkt (gegen seinen Vorläufer) eines Tracks
>> summiert, natürlich sind alle Zahlen double.
>
> Das kannst Du nicht machen. Die summierst hier die zufälligen Fehler 
> Deines Tracks auf. Deine Endgenauigkeit hängt hier wesentlich von der 
> Anzahl der Punkte ab.

Hallo Dirk, das ist mir absolut klar, aber ich bin mir recht sicher, 
dass Noni nicht glättet, zumindest war einTrack, bei dem ich das mal auf 
einer Karte nachgemessen hab, nach der Aufzeichnung ca. 1.6* so lang, 
als die Schätzung über Karte.

> Willst Du das machen, musst Du vorher eine Glättung der Spur 
> durchführen. Und das ist nicht unbedingt trivial, wenn Du genaue 
> Ergebnisse haben willst.

Ja, ich weiß, und das ist genau das, wo ich hin will, nur ohne 
"korrekte" Einzelwegdistanzen brauch ich gar nicht erst weiter zu machen.

> Falls Du mir nicht glaubst. Stell Dich auf einen Punkt, lasse GPS eine 
> Zeitlang aufzeichnen (ohne ausdünnen) und berechne die zurückgelegte 
> Strecke. Sie wird immer wesentlich größer als 0 sein.

Ja, ich weiss, so langsam weiss ich wirklich, wie GPS-Aufzeichnungen 
aussehen.. :-)

Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Tobias Wendorff
Hallo Sascha,

Sascha Silbe schrieb:
> Fehler von 1% würde ich bei Deiner Formel durchaus erwarten. Nimm 
> Vincenty's Algorithmus, der ist besser. Gibts auf [1] in JavaScript, 
> meine Übersetzungen in C und Python habe ich angehängt. Lizenz ist LGPL.

Super, jetzt habe ich es in jeder "Sprache".

Ich bevorzuge allerdings immer noch Perl und PHP, da man es
auch auf Webservern laufen lassen kann, bei denen man keinen
Root-Access hat.

Grüße
Tobias

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Sascha Silbe

On Fri, Sep 19, 2008 at 03:42:11AM +0200, Florian Heer wrote:

Bei einigen (ca. 20%) der Tracks, stimmen die Werte aber nicht (Fehler 
weit über 1%),
Fehler von 1% würde ich bei Deiner Formel durchaus erwarten. Nimm 
Vincenty's Algorithmus, der ist besser. Gibts auf [1] in JavaScript, 
meine Übersetzungen in C und Python habe ich angehängt. Lizenz ist 
LGPL.



[1] http://www.movable-type.co.uk/scripts/latlong-vincenty.html

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/
# arch-tag: 413a3fa1-5a89-41f2-a905-0ad78cdd0267
from math import *

#
##
## Copyright (C) 2002-2008 Chris Veness -- http://www.movable-type.co.uk/scripts/latlong-vincenty.html
## Copyright (C) 2007-2008 Sascha Silbe -- http://sascha.silbe.org/
##
## This file may be distributed and/or modified under the terms of the
## GNU Lesser General Public License version 2 as published by the Free
## Software Foundation and appearing in the file COPYING.LESSER included in
## the packaging of this file.
##
#

# source of algorithm:
#   Vincenty direct formula - T Vincenty, "Direct and Inverse Solutions of Geodesics on the
#   Ellipsoid with application of nested equations", Survey Review, vol XXII no 176, 1975
#   http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf
#
# based on JavaScript implementation by Chris Veness, available at
# http://www.movable-type.co.uk/scripts/latlong-vincenty-direct.html
# Python implementation by Sascha Silbe
#
# License for original JavaScript implementation:
# JavaScript functions are shown below. You are welcome to re-use these scripts [without any warranty express or implied]
# provided you retain my copyright notice and when possible a link to my website (under a LGPL license). If you have any
# queries or find any problems, please contact me.
# (C) 2002-2008 Chris Veness


# WGS-84 ellipsiod
a = 6378137.
b = 6356752.3142
f = 1/298.257223563

def distance(p1, p2) :
  p1Lat = p1[0]*pi/180
  p1Lon = p1[1]*pi/180
  p2Lat = p2[0]*pi/180
  p2Lon = p2[1]*pi/180
  L = p2Lon - p1Lon
  U1 = atan((1-f) * tan(p1Lat))
  U2 = atan((1-f) * tan(p2Lat))
  sinU1 = sin(U1)
  cosU1 = cos(U1)
  sinU2 = sin(U2)
  cosU2 = cos(U2)
  Lambda = L
  LambdaP = 2*pi
  iterLimit = 20

  while ((fabs(Lambda-LambdaP) > 1e-12) and iterLimit) :
iterLimit -= 1
sinLambda = sin(Lambda)
cosLambda = cos(Lambda)
sinSigma = sqrt((cosU2*sinLambda) * (cosU2*sinLambda) +
  (cosU1*sinU2-sinU1*cosU2*cosLambda) * (cosU1*sinU2-sinU1*cosU2*cosLambda))

if (sinSigma==0) :
  return 0, 0  # co-incident points

cosSigma = sinU1*sinU2 + cosU1*cosU2*cosLambda
sigma = atan2(sinSigma, cosSigma)
sinAlpha = cosU1 * cosU2 * sinLambda / sinSigma
cosSqAlpha = 1 - sinAlpha*sinAlpha
if (cosSqAlpha == 0) :
  cos2SigmaM = 0  # equatorial line: cosSqAlpha=0 (Rule 6)
else :
  cos2SigmaM = cosSigma - 2*sinU1*sinU2/cosSqAlpha

C = f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha))
LambdaP = Lambda
Lambda = L + (1-C) * f * sinAlpha * (sigma + C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)))

  if (iterLimit==0) :
# formula failed to converge
return None, None

  uSq = cosSqAlpha * (a*a - b*b) / (b*b)
  A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)))
  B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)))
  deltaSigma = B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)))
  s = b*A*(sigma-deltaSigma)
  # initial bearing
  bearing = atan2(cosU2*sinLambda, cosU1*sinU2 - sinU1*cosU2*cosLambda)*180/pi
  # final bearing
  # bearing = atan2(cosU1*sinLambda, -sinU1*cosU2 + cosU1*sinU2*cosLambda)*180/pi

  while (bearing < 0) :
bearing += 360

  return s, bearing


def destination(origin, bearing, distance) :
  lat1, lon1 = origin
  s = float(distance)
  alpha1 = bearing*pi/180
  sinAlpha1 = sin(alpha1)
  cosAlpha1 = cos(alpha1)

  tanU1 = (1-f) * tan(lat1*pi/180)
  cosU1 = 1. / sqrt((1 + tanU1*tanU1))
  sinU1 = tanU1*cosU1
  sigma1 = atan2(tanU1, cosAlpha1)
  sinAlpha = cosU1 * sinAlpha1
  cosSqAlpha = 1 - sinAlpha*sinAlpha
  uSq = cosSqAlpha * (a*a - b*b) / (b*b)
  A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)))
  B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)))

  sigma = s / (b*A)
  sigmaP = 2*pi
  while (abs(sigma-sigmaP) > 1e-12) :
cos2SigmaM = cos(2*sigma1 + sigma)
sinSigma = sin(sigma)
cosSigma = cos(sigma)
deltaSigma = B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)))
sigmaP = sigma
sigma = s / (b*A) + deltaSigma

  tmp = sinU1*sinSigma - cosU1*cosSigma*cosAlpha1
  lat2 = atan2(sinU1*cosSigma + cosU1*sinSigma*cosAlpha1, (1-f)*sqrt(sinAlpha*sinAlpha + tmp*tmp))
  Lambda = atan2(sinSigma*sinAlpha1, cosU1*cosSigma - sinU1*sinSigma*

Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Tobias Wendorff
Hallo Florian,

Florian Heer schrieb:
> Entfernung in km = wurzel (dx² + dy²)
> mit:
> dx = 111.3 * cos(lat) * (lon1 - lon2)
> lat = (lat1 + lat2) / 2 * 0.01745
> dy = 111.3 * (lat1 - lat2)
> Breite, Länge in Grad

Faustformel? Was / wofür ist die?

> Kann mir jemand da weiter helfen?
> Vielleicht andere Implementationen, bei denen ich Tracks hochladen kann 
> um Ergebnisse zu vergleichen...?

Ich habe vor einiger Zeit ein sehr gutes PHP-Script geschrieben,
welches auf Basis von Vincenty arbeitet, als ziemlich genau ist.

Liegen Deine Tracks in OSM oder GPX vor? Wenn sie in OSM vorliegen,
schreibe ich das Script diesbezüglich um, um Wege zu beachten.

Grüße
Tobias

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Dirk Stöcker

On Fri, 19 Sep 2008, Florian Heer wrote:


und das dann für jeden Punkt (gegen seinen Vorläufer) eines Tracks
summiert, natürlich sind alle Zahlen double.


Das kannst Du nicht machen. Die summierst hier die zufälligen Fehler 
Deines Tracks auf. Deine Endgenauigkeit hängt hier wesentlich von der 
Anzahl der Punkte ab.


Willst Du das machen, musst Du vorher eine Glättung der Spur durchführen. 
Und das ist nicht unbedingt trivial, wenn Du genaue Ergebnisse haben 
willst.


Falls Du mir nicht glaubst. Stell Dich auf einen Punkt, lasse GPS eine 
Zeitlang aufzeichnen (ohne ausdünnen) und berechne die zurückgelegte 
Strecke. Sie wird immer wesentlich größer als 0 sein.


Ciao
--
http://www.dstoecker.eu/ (PGP key available)___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Thomas Clormann
2008/9/19, Holger Issle <[EMAIL PROTECTED]>:
> On Fri, 19 Sep 2008 03:42:11 +0200, Florian Heer wrote:
>
>..., was aber meiner Meinung nach bei 8km Strecke keine 200m Unterschied 
>geben darf
> (wenn die nicht grad aus 3 Punkten besteht).
>
..sondern ca. 0,3 Millimeter

Gruß, Thomas

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-19 Diskussionsfäden Markus
Hallo Florian, hallo Holger,

das ist sicher für viele interessant!

Könnt Ihr die Ergebnisse Eurer Überlegungen bitte noch im Wiki 
dokumentieren? (und sinnvoll verlinken)

Besten Dank, Markus

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-18 Diskussionsfäden Holger Issle
On Fri, 19 Sep 2008 03:42:11 +0200, Florian Heer wrote:

> Vielleicht andere Implementationen, bei denen ich Tracks hochladen kann
> um Ergebnisse zu vergleichen...?

Nimm TTQV von www.ttqv.de, importiere den Track und lese ab wie lang
er sein sollte. TTQV läuft 25 Tage ohne Lizenz und nimmt die Formeln
zum Großkreis, sollte also genauer sein als Deine Rechnung, was aber
meiner Meinung nach bei 8km Strecke keine 200m Unterschied geben darf
(wenn die nicht grad aus 3 Punkten besteht).

Siehe dazu auch http://de.wikipedia.org/wiki/Gro%C3%9Fkreis
-- 

Ciao,
Holger (GUS-KOTAL, GUS#1100, GRR#51)

90-92 Honda CB400 10 Mm | 93-95 Yamaha TDM 850 26 Mm
95-97 KTM 620 LC4 13 Mm | seit 97 BMW R1100GS 69 Mm (Die Renndrecksau!)

cu @ http://www.issle.de


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


[Talk-de] Distanz-Berechnungen aus Koordinaten

2008-09-18 Diskussionsfäden Florian Heer
Hi!

Ich weiß, dass das nur so halb hier her passt, und wenn mir jemand einen 
besseren Platz zum Fragen nennen kann, bzw. Webseiten, wo alles gut 
erklärt ist, oder oder oder: gerne.

Mein aktuelles Hauptproblem ist die Berechnung von Distanzen zwischen 2 
Koordinaten im WGS-84. Nach kompf.de und zumindest rudimentärem 
Verständnis des Problems ist eine einfache Formel (= eine, die nur 
gerine Entfernungen berücksichtigt):

Entfernung in km = wurzel (dx² + dy²)
mit:
dx = 111.3 * cos(lat) * (lon1 - lon2)
lat = (lat1 + lat2) / 2 * 0.01745
dy = 111.3 * (lat1 - lat2)
Breite, Länge in Grad

So weit so gut, wenn ich meine gesammelten Tracks danach berechne (und 
extreme Werte [>1km/sek] ignoriere, also Startbedingungen von Tracks), 
ergibt sich meist ein Wert, der mit den Berechnungen von NoniGPSPlot 
halbwegs deckt (was meine Loggersoftware ist).
Bei einigen (ca. 20%) der Tracks, stimmen die Werte aber nicht (Fehler 
weit über 1%), weshalb ich zweifeln muss, entweder an meiner 
Implementation oder der anderer Software.
Einen Track hab ich mir speziell angesehen, laut Noni-GPS ist der 8.53 
km, laut meiner Berechnung 10.42 und laut 
http://www.kompf.de/trekka/#client=®ion=Deutschland
ist er 8.3 km lang.
Sind schon etwas stärkere Abweichungen.

Meine Implementation in Java ist:
lat = (lat1 + lat2) / 2 * 0.01745;
dx = 111.3 * Math.cos(lat) * (lon1 - lon2);
dy = 111.3 * (lat1 - lat2);
localDistance = Math.sqrt(dx*dx+dy*dy);
und das dann für jeden Punkt (gegen seinen Vorläufer) eines Tracks 
summiert, natürlich sind alle Zahlen double.

Mögliche Ursachen:
- Konstanten (111.3 bzw 0.01745) sind falsch
- Massive Rundungsfehler (ich glaub nicht, aber glauben kann ich in der 
Kirche oder so ähnlich)
- auch bei geringen Entfernungen ist die Formel nicht korrekt
- Implementationsfehler
- meine Implementation ist richtig, alle anderen stinken... :-)

Kann mir jemand da weiter helfen?
Vielleicht andere Implementationen, bei denen ich Tracks hochladen kann 
um Ergebnisse zu vergleichen...?


Viele Grüße, Florian.


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de