Hallo an die GPS-Experten, wie berechnet man die Strecke zwischen zwei GPS-Koordinaten? Gegeben Lat1,Lon1,Lat2,Lon2 Michael
http://de.wikipedia.org/wiki/Sph%C3%A4rische_Trigonometrie http://de.wikipedia.org/wiki/Geographische_Koordinaten dort gehts mit vielen Links weiter
ich habe die vereinfachte Berechnung von B. Schulz gefunden. Die Genauigkeit reicht auf jeden Fall aus. Sehr gute Lösung.
Hallo ich weis, es ist schon sehr lange her, aber wo hast Du die Lösung von "B.Schulz" gefunden? Habe alles abgesucht, und die Lösungen, welche mir Mr.Google gezeigt hat, sind dann doch etwas zu heftig. Ich möchte ebenfalls nur den Abstand zwischen 2 GPS-Positionen bestimmen. Vielen Dank und viele Grüße Mike
Beitrag "GPS - MOUSE - MINI- NAVIGATOR (Assembler) ATmega8" geht sehr gut, habe ich mal in "C" umgesetzt...
Im Anhang die Formel, die ich vor Jahren mal benutzt habe. Bei den Koordinaten ist zu beachten, dass diese jeweils negativ eingesetzt werden müssen, wenn es sich um südliche oder westliche Koordinaten handelt.
Kommt auf die Genauigkeit bzw. den Anwendungszweck und den Abstand zwischen den Waypoints an. Die Great Circle Methode ist genau aber aufwendig. Die Schulzloesung ist simpel aber ungenau, sie funktioniert genaugenommen nur fuer einen Breitengrad halbwegs. Im "kleinen Masstab", also bei geringen Abstaenden um/unter 100 Km, kann man auf Great Circle verzichten und mittels Tabelle direkt/linear rechnen. Wenn man das Ergebnis auch zur Standortbestimmung, etwa auf einer 100.000er oder 50.000er Karte verwenden will (Koppelnavigation) geht das sehr genau mit einer 1 Grad LAT/LON Tabelle. Die LAT-Werte kann man dann direkt verwenden, die aendern sich pro Grad nur im cm-Bereich. Die LON-Werte muss man noch auf die Minute interpolieren da sich LON zwischen 0 Grad LAT und 90 Grad LAT von 1853.32 m bis auf 0 m aendert. Die Berechnung mit einer Tabelle ist trivial und kommt ohne Winkelfunktionen aus. Man erreicht damit Berechnungsgenauigkeiten im Meterbereich fuer moderate Entfernungen. Ich habe eine Tabellenloesung implementiert, Tabellengroesse incl. Interpolationsfaktoren betraegt dabei 546 Byte. Bei eher kleinen Entfernungen spielt auch das jeweilige Kartendatum kaum mehr eine Rolle, man kann durchgaengig bei WGS84 bleiben. juergen
Die Aufgabe war lange vor GPS schon eine typische Mikrocomputeraufgabe der Funkamateure. Die Koordinaten wurden in einem Amateurfunk-eigenen System, dem sogenannten QTH-Kenner angegeben, und nach Funk-Kontesten damit die erreichten Entfernungen auf etwa 2 km genau berechnet. http://de.wikipedia.org/wiki/QTH-Locator http://www.mydarc.de/db6zh/qthzz/qthxx04.htm
Vielen Dank für die Info Ich denke mit der Formel kann ich was anfangen. - Kennt jemand nen Taschenrechner mit dem ich das mal nachrechnen kann?! Mit dem Windows-Ding is bei cos Ende?! Vielen Dank und viele Grüße Mike
>is bei cos Ende?!
Wie meinst du das? Du brauchst Cosinus, Sinus und Arcuscosinus; ist doch
alles vorhanden.
Für übergenaue guckst Du da: http://de.wikipedia.org/wiki/Orthodrome Rechnet auf dem WGS84 Referenz-Ellipsoid.
ah, ok danke. jetzt hab ich aber noch ein Verständnis Problem: Ich möchte gerne den Abstand zwischen 2 Punkten berechnen: N49 59,952 E9 09,456 und N49 59,954 E9 09,544. Wie setz ich denn die Werte jetzt in die Formel ein? Egal welche Umrechnungen ich versuche, kommt Müll raus. Der Reale Abstand müsste so um die 100 Meter sein - davon bin ich jedoch weit entfernt :-( Gruß Mike
N49 59,952 bedeutet doch 49° 59Bogenminuten und 952 Bogensekunden oder?! denn dann würden die Bogenminuten + Bogensekunden mehr als 1° ergeben, was keinen Sinn macht...
>N49 59,952 bedeutet doch 49° 59Bogenminuten und 952 Bogensekunden oder?!
Es bedeutet das was da steht: 49 Grad Nord und 59,952 Minuten:
Dezimalminuten ;)
Umgerechnet sind das 59 Minuten und rund 57 Sekunden.
juergen
Hier sieht man, dass diese Formel im Nahbereich ungeeignet ist, was man am letzten Cosiunusterm sieht. Bei sehr nahen Koordinaten geht die Differenz gegen Null und somit der Cosinus gegen 1. Naja und die ganze Klammer geht dann auch gegen 1, somit erhält man als Entfernung 111m :)
Meine Rechnung sieht so aus: Gegeben sind N49 59,952 E9 09,456 und N49 59,954 E9 09,544. Delta LAT betraegt also 0.002 Min. und Delta LON betraegt 0.088 Min. 1 Min LAT @ 49 Grad + 59.9 Min = 1853.81 m 1 Min LON @ 49 Grad + 59.9 Min = 1194.92 m Beides auf der Basis Erdumfang durch die Pole = 40007.863 km und 1 naut. Meile = 1852 Meter. Delta LAT ergibt dann 3.70 m und Delta LON ergibt 105.15 m Bei dermassen geringen Abstaenden kann man das nach Pythagoras rechnen. Das ist dann eine Luftlinienentfernung von 105.21 m. Kommastellen sind natuerlich unsinnig wenn man nicht gerade ein Vermessungs-GPS-System benutzt. Hinzu kommt: Wenn beide Punkte mit einem Consumer GPS unter unterschiedlichen Bedingungen erfasst wurden dann kann das im worstcase sehr leicht 2x15 Meter oder auch mehr an Abweichung ausmachen, dann liegt die Entfernung irgendwo zwischen 70 und 135 Metern... Und bei der Orientierung auf einer 100.000er Karte entspricht 1mm bereits 100 Meter. Fragt sich eben welche Genauigkeit man wirklich braucht und wozu. juergen
Mahlzeit ja, auf 111m bin ich dann auch gekommen - ist wohl aber wirklich sehr ungenau. Wovon hängt denn die Genauigkeit der Datenerfassung ab, bzw. wie genau wäre eine Datenerfassung mit "Handelsüblichen" GPS Empfängern möglich? Wenn ich davon ausgehe, dass der Abstand zwischen den Längen- und Breitengraden jeweils 111km beträgt, ist eine Bogensekunde demnach 30,83m lang (Richtig?). Die Daten welcher der GPS Empfänger ausgibt, sind allerdings Grad und Bogenminuten mit 4 Stellen nach dem Komma. Demnach ergäbe sich hier eine Genauigkeit von 18,5cm (111km/60Bogenminuten = 1,85Km pro Bogenminute / 10000) - Was ich mir jetzt so nicht wirklich vorstellen kann?! Für meine Anwendung wäre eine Genauigkeit von 5 Metern nicht schlecht. Die Strecken, betragen im Durchschnitt 1km, wobei maximal 5km möglich sein können. Sind 5 Meter Genauigkeit (also +/-2,5m) überhaupt realistisch? Viele Grüße Mike
>Mahlzeit Ebenfalls. >ja, auf 111m bin ich dann auch gekommen - ist wohl aber wirklich sehr >ungenau. Das ist wie immer relativ ;) >Wenn ich davon ausgehe, dass der Abstand zwischen den Längen- und >Breitengraden jeweils 111km beträgt, ist eine Bogensekunde demnach >30,83m lang (Richtig?). Rechnerisch ja, aber leider falsch: Die 111 Km sind eine grobe Vereinfachung, gerechnet mit 1850m pro Minute LAT (1850mx60=111Km). Tatsaechlich betraegt der Abstand der Breitengrade pro Minute aber 1842.90 m bei 0 Grad und 1861.57 m bei 90 Grad Nord bzw. Sued. Der Verlauf der Aenderung ist zudem nicht linear. Fuer LON ist er noch weniger linear und liegt ausserdem im Bereich von 1853.32 m bei 0 Grad bis 0 m bei 90 Grad, wie bereits frueher schon geschrieben. Da hilft eben nur eine genaue Tabelle wenn man aufwendige Rechenverfahren meiden will. >Die Daten welcher der GPS Empfänger ausgibt, sind allerdings Grad und >Bogenminuten mit 4 Stellen nach dem Komma. Demnach ergäbe sich hier eine >Genauigkeit von 18,5cm (111km/60Bogenminuten = 1,85Km pro Bogenminute / >10000) - Was ich mir jetzt so nicht wirklich vorstellen kann?! Verwechsle mal Aufloesung nicht mit Genauigkeit ;) Die Aufloesung in der 4. Stelle liegt tatsaechlich im cm-Bereich. Die Genauigkeit natuerlich nicht, s.u. Man kann die letzte Stelle bestenfalls beobachten um zu sehen wie stark die Positionsberechnung im Stand schwankt, mehr nicht. Das zeigt meist nur die Qualitaet der Positionsfilterung bzw. die Stabilitaet des Empfaengers. Mein Geraet schwankt nach 1 Minute um +/- 2 in der 4. Stelle. Ich rechne trotzdem grundsaetzlich nur mit 3 Nachkommastellen, und das ist schon optimistisch. >Wovon hängt denn die Genauigkeit der Datenerfassung ab, bzw. wie genau >wäre eine Datenerfassung mit "Handelsüblichen" GPS Empfängern möglich? >Für meine Anwendung wäre eine Genauigkeit von 5 Metern nicht schlecht. >Die Strecken, betragen im Durchschnitt 1km, wobei maximal 5km möglich >sein können. >Sind 5 Meter Genauigkeit (also +/-2,5m) überhaupt realistisch? Also das detailliert zu beantworten ist ein abendfuellendes Programm. Kurzfassung NAVSTAR Basics: Effects of the ionosphere 4 m Satellite clocks 2.1 m Receiver measurements 0.5 m Ephemeris data 2.1 Effects of the troposphere 0.7 Multipath 1.4 m Total RMS value (unfiltered) 5.3 m Total RMS value (filtered) 5.1 m Vertical error (1 sigma (68.3%) VDOP=2.5) 12.8m Vertical error (2 sigma (95.5.3%) VDOP=2.5) 25.6m Horizontal error (1 sigma (68.3%) HDOP=2.0) 10.2m Horizontal error (2 sigma (95.5%) HDOP=2.0) 20.4m Daran hat sich bis dato nichts geaendert, ganz egal was die Hersteller so von sich geben! Vielleicht noch als Hinweis: Der modernste GPS Empfaenger des US Militaers, der ja zudem zusaetzlich zu L1 auch L2 verwendet, ist mal gerade mit <12m spezifiziert ;) Die Herstellernagaben von Consumergeraeten sind IMO schlicht Glaskugel-Akrobatik. Man kann allerdings auch nur mit L1 durchaus auf 2.5 m Genauigkeiten kommen: Mit Differential GPS. Das ist aber ein erheblicher Aufwand. Wide Area Augmentation Systeme (WAAS in USA, EGNOS in Europa) koennten das im Prinzip auch leisten, allerdings ist EGNOS wohl immer noch im Teststadium und wird zudem nur von ganz wenigen Empfaengern genutzt. Da bleibt also im Normalfall nur, auf stabile und halbwegs gute, vergleichbare Empfangsbedingungen zu achten um gleichbleibende Ergebnisse zu erhalten: Also zu gleicher Tageszeit (wobei die Sat-Umlaufzeit 11 Stunden 58 Minuten betraegt, sie also taeglich etwas frueher kommen) und bei etwa gleichen DOP-Bedingungen. Idealerweise 3D Messung mit PDOP um 2 oder weniger. (Eine Verdoppelung des DOP Wertes bedeutet auch eine Verdoppelung des Fehlers). Bei jeder Messung etwas Zeit lassen bis sich die Daten stabilisiert haben, die Schwankungen der letzten Stelle der Anzeige also "ueberschaubar" bleiben. Zur Nachtzeit ist die Situation stabiler da die Ionosphaereneffekte durch die fehlende Sonneneinstrahlung stabiler sind, also weniger stark schwanken. Wenn man natuerlich sein GPS Geraet selbst baut hat man noch zusaetzlich die Moeglichkeit den sog. Satellite Mask Angle einzustellen. Damit kann man horizontnahe Satelliten ausblenden da deren Signale durch den laengeren Ionosphaerendurchgang am staerkesten beeinflusst werden, also erhebliche Laufzeitfehler haben. Immerhin ist der Ionospahaernefehler der groesste Einzelfehler, s.o. Ich arbeite meist mit einem cut off Winkel von 10 Grad. Consumergeraete haben i.d.R. 5 Grad oder weniger :( Die Sat-Konstellation ist momentan eh sehr gut, 31 Sats sind aktiv, da sollte also immer eine 3D Messung mit DOP-Werten um bzw. unter 2 moeglich sein. Ich erreiche typischerweise PDOP um 1.5 bei 10 Grad cut off, selbst hier in meinem Alpental. Ich wuerde auch, aus unterschiedlichen Gruenden, auf Geraete der neuesten Generation (SiRFIII oder MTK) verzichten. Etwas aeltere 12-Kanal-Geraete sind auf Grund anderer Architektur meist verlaesslicher/stabiler, wenn auch weniger "empfangsstark". Das spielt aber bei der momentanen Sat-Konstellation praktisch keine Rolle, s.o. lg juergen
Hallo Jürgen Vielen Dank für die Ausführliche Erklärung! Das hat mir nun doch schon um einiges weiter geholfen. Was ich noch nicht ganz verstehe, ist, wie ich die Satellite Mask Angle einstellen kann?! Ich würde doch hierfür von jedem Satelliten den Winkel zu meinem Empfänger benötigen, um zu entscheiden, ob dieser mit ausgewertet werden soll oder nicht? Die Auswertung an sich findet doch aber schon im Empfänger-Modul statt?! Und noch eine Sache kann ich nicht nachvollziehen: Im NMEA Protokoll ist bei RMC Wert 7 die Geschwindigkeit in Konten abrufbar. Warum erhalte ich hier selbst im Stillstand eine Geschwindigkeit von 0-2 Knoten? Vielen Dank nochmals und viele Grüße Mike
Hallo Michael. >Was ich noch nicht ganz verstehe, ist, wie ich die Satellite Mask Angle >einstellen kann?! Ich würde doch hierfür von jedem Satelliten den Winkel >zu meinem Empfänger benötigen, um zu entscheiden, ob dieser mit >ausgewertet werden soll oder nicht? Die Auswertung an sich findet doch >aber schon im Empfänger-Modul statt?! Der Satellite Mask Angle oder manchmal auch Elevation Mask Angle bzw. Antenna Mask Angle genannt wird im Empfaenermodul so eingestellt: Jeder Empfaenger kennt ja die momentane Sat-Position in Form von Azimuth und Elevation. Somit weiss er wie "hoch" jeder Sat momentan ueber dem Horizont steht. Damit kann man ihn also auch ausblenden. Dabei wird dem Empfaengermodul nur mitgeteilt dass er alle Sats "unter" einem bestimmten Winkel ignorieren soll. Voraussetzung fuer die Winkeleinstellung ist allerdings dass man direkt Zugriff auf die Empfaengersoftware hat: Das geht natuerlich immer wenn man einen GPS Empfaenger selbst baut auf Basis eines Empfangsmodules, Motorola, Trimble, u-blox... Bei Fertiggeraeten geht es so gut wie gar nicht, da hat der Hersteller einen fixen (meist niderigen Wert damit der User moeglichst viele Sats am Display hat) eingestellt, bei manchen GPS Maeusen ist es mit etwas Aufwand moeglich: Bei einigen GPS Maeusen mit SiRF Chipsaetzen kann man z.B. die SiRF-Demo Software dazu benutzen und den Empfaenger entsprechend konfigurieren, sofern die Maus direkten Protokollzugriff auf die Empfaenger-Software erlaubt. >Und noch eine Sache kann ich nicht nachvollziehen: Im NMEA Protokoll ist >bei RMC Wert 7 die Geschwindigkeit in Konten abrufbar. Warum erhalte ich >hier selbst im Stillstand eine Geschwindigkeit von 0-2 Knoten? Das ist doch noch vergleichsweise wenig ;) Diese Pseudo-Bewegungen bzw. Geschwindigkeiten sind eben typisch wenn man entweder sehr "empfindliche" Geraete benutzt (da ist es meist in der Empfaenger-Architektur begruendet) oder die Stabilitaet des Empfaengeroszillators bescheiden ist ... oder Beides. Kombiniert mit der systembedingten Ungenauigkeit/Schwankung bei GPS ergibt das dann eben interessante Effekte. Hinzu kommt die Auslegung der Empfaenger-Software: Bis zu einem gewissen Grad kann man sowas natuerlich unterdruecken/ausfiltern... sofern es diese Filtermoeglichkeit gibt. Viele Geraete haben aber haeufig keine Einstellungen fuer "static navigation" oder zu hohe Schwellwerte dafuer, oder keinen funktionierenden "pedestrian mode" oder keine einstellbaren Filter oder... Du kannst von einem Consumergeraet (schau Dir mal den Preis einer GPS Maus im Vergleich zu einem nackten industriellen GPS Empfaengerboard an) kein hightech erwarten. Das sind ja schliesslich keine Vermessungsempfaenger. Welchen GPS-Empfaenger verwendest Du denn? lg juergen
Hallo Jürgen na, ich denke, dass ich das dann bei diesem Empfänger vergessen kann. Ich verwende derzeit nur eine einfache (geliehene) GPS Maus. Hersteller - keine Ahnung, auf der Rückseite steht Moael No: BR-304 Ich denke nicht, dass dieser Empfänger etwas "besonderes" ist. Ich möchte vorerst nur ausprobieren, ob ich das überhaupt auf die Reihe bekomme, wenn das dann klappt, möchte ich mir ein eigenes Modul zulegen. Wo finde ich denn eine genaue Tabelle, um die Distanz etwas genauer zu bestimmen? Hat die eine Bestimmte Bezeichnung? Bei Google finde ich in diesem Zusammenhang leider nur Müll... Gruß Mike
>...auf der Rückseite steht Moael No: BR-304 Das muesste eine etwas aeltere GlobalSat GPS Maus sein mit SiRFII/LP Chipsatz. >Wo finde ich denn eine genaue Tabelle, um die Distanz etwas genauer zu >bestimmen? Hat die eine Bestimmte Bezeichnung? Bei Google finde ich in >diesem Zusammenhang leider nur Müll... Z.B. hier mit 1 Grad Abstaenden: http://home.online.no/%7Esigurdhu/Grid_1deg.htm oder hier mit 10 Min Abstaenden: http://home.online.no/%7Esigurdhu/Grid_10min.htm lg juergen
Auf meiner DARC homepage habe ich den ganzen "Formelkram" im Anhang zu einer QTH-Kenner Berechnung aufgeführt. Zur Genauigkeit sind etwa in der Mitte einige gezielte Angaben (mit Sprüchen :-) von Gauß) http://www.mydarc.de/db6zh/qthzz/qthxx03.htm Die Rechnerei passiert seit 1985 auf den ersten IBM-PCs und ein Update wegen GPS ist drin (betrifft die Referenzellipsoiden). Dazu habe ich auch separate Erklärungen angefangen, siehe (bereits im blog erwähnt) http://www.mydarc.de/db6zh/qthzz/qthxx04.htm Wenn man die Genauigkeit übertreibt, müßte man auch die Schuhgröße des GPS-receiver Besitzers kennen. Einige Receiver gaukeln cm-Genauigkeit vor, was wegen verbogener (inhomogene Atmosphäre)Funkwellen-Ausbreitung, Satellitenschaukeln und tektonischen Bewegungen (Vollmond <-> Neumond ca. 30 cm ) nicht drin ist. Viel Spaß DB6ZH Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.