resultat soll:11.13m mit taschenrechner und google überprüft
resultat ist: 38.44m am atxmega128a1
kann mir bitte jemand helfen, ich bin am verzweifeln.
Danke im Voraus
Milan
Milan M. schrieb:> resultat soll:11.13m mit taschenrechner und google überprüft
Für derartig kleine Abstände den Rechner mit trigonometrischen Formeln
zu quälen, ist vielleicht etwas übertrieben. Probier's doch mal mit
dem guten alten Phytagoras.
Jap, die Zahlen müssen im Bogenmaß übergeben werden, und da kommt dann
vollkommen korrekt eine Distanz von 0 Metern für das gewählte Beispiel
raus.
Edit: Pardon, es kommt natürlich nicht ganz 0 Meter raus sondern knapp
19cm, dürfte bei GPS aber im Rahmen der Messungenauigkeit liegen ;D
Michael schrieb:> Milan M. schrieb:>> resultat soll:11.13m mit taschenrechner und google überprüft>> Für derartig kleine Abstände den Rechner mit trigonometrischen Formeln> zu quälen, ist vielleicht etwas übertrieben. Probier's doch mal mit> dem guten alten Phytagoras.
das ist nur ein beispiel, die distanzen werden aber bis zu 1 km gross
sein.
Daniel H. schrieb:> Jap, die Zahlen müssen im Bogenmaß übergeben werden, und da kommt dann> vollkommen korrekt eine Distanz von 0 Metern für das gewählte Beispiel> raus.
das ist eben falsch es sind 11.13m (12m gerundet)
http://www.gpsvisualizer.com/calculators
Milan M. schrieb:> das ist nur ein beispiel, die distanzen werden aber bis zu 1 km gross> sein.
Dafür ist der Herr Phytagoras immer noch gut - oder welche Genauigkeit
brauchst du.
Michael schrieb:> Milan M. schrieb:>> das ist nur ein beispiel, die distanzen werden aber bis zu 1 km gross>> sein.>> Dafür ist der Herr Phytagoras immer noch gut - oder welche Genauigkeit> brauchst du.
je genauer desto besser. :-)
@ Michael (Gast) und @ Daniel H. (Firma: keine)
Ich würde mit einem µC auch probieren, es ohne eine
math-lib zu machen. Aber eure Beiträge zusammen verunsichern
doch den TO!
@ Milan M.
Hast du es mit Grad->rad und ggfs. umgekehrt versucht?
Es sollte das Richtige herauskommen, wenn die Formel stimmt.
Zur Vereinfachung kann man bei kleinen Distanzen natürlich den
Pythagoras nehmen: 1° = 111,120 km.
- Allerdings musst du die Längendifferenzen vorher mit dem
sinus der Breite (in Bogenmaß!) multiplizieren.
Warum verunsichern ihn meine Beiträge? Ich habe lediglich gesagt, dass
seine Berechnung bei mir das gleiche Ergebnis liefert (Anmerkung: unter
Linux auf nem PC).
Die Ursache ist aber Folgende, wie ich festgestellt habe:
1. Die trigonometrischen Funktionen bei C erwarten Radian als Eingabe
2. Übergibt man nun Radian an die trigonometrischen Funktionen, so passt
die Berechnung des Erdumfangs nicht mehr, dort kommt ein Wert von
~111.000 (wie er bei Berechnung in Grad korrekt wäre), bei Berechnung in
Radian muss aber etwa um die 6.300 herauskommen.
Edit:
dist = 6378.388 * acos(sin(0.7856425094927275) * sin(0.7856442548219795)
+ cos(0.7856425094927275) * cos(0.7856442548219795) *
cos(0.1450428298667706 - 0.1450428298667706));
Damit kriege ich das korrekte Ergebnis (Winkel in Rad umgerechnet +
Radius geändert).
@ Daniel H. (Firma: keine)
2* M_PI * 6378388 ergibt schon ETWA den Erdumfang von
ca. 40.000.000 m
(2* PI * 6.378.388) / 360 = 111.323 m weicht nur um
zehntausendstel vom üblicherweise angenommenen Wert ab.
Mag sein, passt hier aber nicht, da C nicht in Grad rechnet. Da ich
selber nicht so sehr in GPS bewandert bin war es für mich unmittelbar
klar, was wie wo berechnet wird, so dass ich mich erst durchklamüsern
musste, deswegen bitte ich die eine oder andere Ungenauigkeit zu
entschuldigen.
Ja eben:
Milan M. benutzt Grad, wo rad von der math-lib erwartet werden.
Die Inversfunktionen liefern natürlich auch nur rad, statt Grad
als Winkel-Ergebnis.
Hoffen wir mal, dass der TO das jetzt mal probiert!
Milan M. schrieb:> je genauer desto besser. :-)
Das willst du deinem armen µC gar nicht zumuten und bei den
Positionsfehlern eines Feld, Wald und Wiesen GPS ist das sowieso
vergebene Liebesmüh.
Für eine genaue Abstandsbestimmung müßtest du dich von dem Modell der
Erde als Kugel trennen. Die WGS-84 Koordinaten passen dann auch nicht
mehr als Grundlage, sondern du müßtest zumindest mit dem verschobenen
Koordinatenursprung eines lokalen geodätischen Datums rechnen.
Bernie schrieb:> - Allerdings musst du die Längendifferenzen vorher mit dem> sinus der Breite (in Bogenmaß!) multiplizieren.
Wohl eher durch cos(phi) teilen ;-)
@ Michael (Gast)
Jetzt lassen wir mal alles drumherum weg, auch die Kritik
an der Overkill-Mathematik. Grundsätzlich klappen die
Formeln (nach meiner Erfahrung mit PC) auch bei kleinen
Entfernungen! OK?
Aus den Formeln im ersten Beitrag extrahiere ich:
Breite1: 45,0140° = 0,7856425095
Breite2: 45,0141° = 0,7856442548
Länge1: 8,31042° = 0,1450441912
Länge2: 8,31042° = 0,1450441912
Wir haben eine Breitendifferenz von 0,0001°
111,12 km * 0,0001 = 11,1 m
Wir haben eine Längendifferenz von 0,0000000°
cos(45,01405°) = 0,7069333641
0 * 0,7069333641 = 0
Ergebnis mit Pythagoras: 11,1 m
Im Beitrag von Milan M. um 21:54 stehen ganz wilde
Sachen mit "4500.8366", aber kein Aufruf rad_grad() o.ä.
???
@ Milan M.
Zeig uns bitte nicht, was du stringmäßig anzeigst,
sondern was du aus den NMEA-Daten machst, um sie
als rad1, rad2, ... an die Funktion
GET_DISTANZ_IN_M(...) zu übergeben.
Bernie schrieb:> @ Milan M.>> Zeig uns bitte nicht, was du stringmäßig anzeigst,> sondern was du aus den NMEA-Daten machst, um sie> als rad1, rad2, ... an die Funktion> GET_DISTANZ_IN_M(...) zu übergeben.
In deinem ersten Beitrag standen die Werte 45.0141
und 45.0140 als Breitengrade in der Formel.
Was haben die mit "4500.8366" und "4500.84" zu tun?
NMEA liefert doch bei Breite GGMM.MMMM... und bei Länge
GGG.MMMMM...
Hast du dafür gesorgt, dass GG (oder GGG) vorm Dezimalpunkt
landen und MM.MMMMMM... geteilt durch 60 als Nachkommastellen
hinter dem Dezimalpunkt landen?
(Entschuldige bitte, habe früher nur mit Turbo-C, dann
mit AVR-Assembler Erfahrungen gemacht.)
Breite:
GGMM.mmmm GG MM,mmmm
4500.8366 -> 45° + (00,8366/60)° = 45,0139433
4500.8400 -> 45° + (00,8400/60)° = 45,0140000
Breitendifferenz = 0,0000567° => 6,3 m
Länge:
"0818.62052" ist schon mal schlecht, es sind 3-stellige
Grad-Werte (180° East/West) möglich.
Also besser
GGGMM.mmmmm GGG MM,mmmmm
"00818.62052" -> 008° + (00,62052/60)° = 8,010342°
Was hat das mit 8.310342° aus dem ersten Beitrag zu tun?
(Spielt aber keine Rolle bei der Rechnung, wenn L1 = L2)
Du machst es einem nicht leicht, dir zu helfen!
Milan M. schrieb:> Bernie schrieb:>> Also besser>> GGGMM.mmmmm GGG MM,mmmmm>> "00818.62052" -> 008° + (00,62052/60)° = 8,010342°>> Hallo Barnie,>> da hast du ein fehler gemacht:>>> GGGMM.mmmmm GGG MM,mmmmm>> "00818.62052" -> 008° + (00,62052/60)° = 8,010342° //falsch>>> GGGMM.mmmmm GGG MM,mmmmm>> "00818.62052" -> 008° + (18,62052/60)° = 8.310342° //richtig>>> hast recht ist für das beispiel egal, ich bekomme trotz dem 2202.24m> diferenz
Dann nimm deine Formel, geh sie auf einem Taschenrechner Schritt für
Schritt durch (Aufpassen, der benutzt Grad und nicht Radianten in den
Winkelfunktionen), notier dir die Werte und vergleiche sie mit dem was
auf dem AVR rauskommt.
Und erwarte dir auf dem AVR keine Wunder. Mit 5 bis 6 signifikanten
Stellen, ist die Genauigkeit in der Floating Point Rechnerei schnell
beim Teufel.
Oder benutz alternativ einfach den Phythagors. Für alles mit einer
kleineren Distanz als 20 Kilometer dürfte der Unterschied keine 5 Meter
betragen. So genau ist dein GPS gar nicht. Wer aus GPS Koordinaten Werte
ausrechnet und die auf Zentimeter angibt (und kein differentielles GPS
hat), der hat irgendwas grundlegendes nicht verstanden. Wenn die
Ausgangswerte schon fast 10 Meter Abweichung zur exakten Position haben,
dann kann jede Rechnung damit schon mal nicht genauer sein, als diese
Abweichung. Zahlenfetischismus ist was für Anfänger, die allen zeigen
wollen, dass sie Zahlen vom Taschenrechner abmalen können.
Bernie schrieb:> @ Daniel H. (Firma: keine)>> 2* M_PI * 6378388 ergibt schon ETWA den Erdumfang von> ca. 40.000.000 m>> (2* PI * 6.378.388) / 360 = 111.323 m weicht nur um> zehntausendstel vom üblicherweise angenommenen Wert ab.
Aber man darf nicht durch 360 dividieren, sondern muss durch 2*PI
dividieren, was sich wiederrum mit der ursprünglichen Multiplikation
wegkürzt.
Der Rest der Formel berechnet die Winkeldistanz am Grosskreis.
Im Original war diese Winkeldistanz in Grad angegeben. D.h. der
Dreisatz-Ansatz war
360° ....... 1 Erdumfang in m
berechnete Grad ....... x
-----------------------------------------------
berechnete Grad * 1_Erdumfang_in_m
x = -------------------------------------------
360
daher dir DIvision durch 360
Jetzt hat man keine Grad, sondern aus dem acos kommt ein Winkel in
Radianten
2*PI ....... 1 Erdumfang in m
berechnete Rad ....... x
----------------------------------------------
berechnete Rad * 1_Erdumfang_in_m
x = -------------------------------------
2*PI
setze für den Erdumfang die Berechnung aus dem Radius ein
Umfang = 2*PI * Radius
berechnete Rad * 2*PI * Erdradius
x = ------------------------------------
2*PI
und das 2*PI kürzt sich weg und es bleibt
x = Erdradius * berechnete_Radianten_zwischen_den_Punkten
Karl Heinz Buchegger schrieb:> Wer aus GPS Koordinaten Werte> ausrechnet und die auf Zentimeter angibt (und kein differentielles GPS> hat), der hat irgendwas grundlegendes nicht verstanden. Wenn die> Ausgangswerte schon fast 10 Meter Abweichung zur exakten Position haben,> dann kann jede Rechnung damit schon mal nicht genauer sein, als diese> Abweichung.
War da nicht etwas mit relativer Genauigkeit?
Die Position, welche GPS liefert, stimmt ungefähr auf 10m, klar.
Die relative Genauigkeit einer zweiten (naheliegenden) Position dazu ist
aber höher (im Meterberech).
Duda schrieb:> Karl Heinz Buchegger schrieb:>> Wer aus GPS Koordinaten Werte>> ausrechnet und die auf Zentimeter angibt (und kein differentielles GPS>> hat), der hat irgendwas grundlegendes nicht verstanden. Wenn die>> Ausgangswerte schon fast 10 Meter Abweichung zur exakten Position haben,>> dann kann jede Rechnung damit schon mal nicht genauer sein, als diese>> Abweichung.>> War da nicht etwas mit relativer Genauigkeit?> Die Position, welche GPS liefert, stimmt ungefähr auf 10m, klar.> Die relative Genauigkeit einer zweiten (naheliegenden) Position dazu ist> aber höher (im Meterberech).
DAs nennt man dann differentielles GPS. Und das hab ich ja ausgenommen.
Wobei so einfach die Sache auch wieder nicht, weil man dann schon in
Bereiche kommt, in der Signalreflexionen an Gebäuden anfangen eine Rolle
zu spielen.
Karl Heinz Buchegger schrieb:>> Die relative Genauigkeit einer zweiten (naheliegenden) Position dazu ist>> aber höher (im Meterberech).>> DAs nennt man dann differentielles GPS.
Wenn du EGNOS als differentialles GPS bezeichnest, hast du Recht. Aber
aktuelle Empfänger empfangen/verarbeiten die Signale, ohne dass der
Nutzer das merkt und dass die Geräte als Differentiell-Empfänger
bezeichnet werden.
Bernie schrieb:> 2* M_PI * 6378388 ergibt schon ETWA den Erdumfang von
Die Genauigkeit bei der Angabe des Erdradius kann man sich sparen, da
alleine schon die Abweichung zwischen mittlerem Radius (6371km) und
Äquatorradius (6378) fast 7 km beträgt.
Die Verwendung vom Äquatorradius für obige Rechnung führt dann für
Nord-Süd-Strecken z.B. zu einer berechneten Distanz von 1855m für eine
Bogenminute (statt 1852,216m = 1 nm).
Karl Heinz Buchegger schrieb:> Für alles mit einer kleineren Distanz als 20 Kilometer dürfte der> Unterschied keine 5 Meter betragen.
Eher unterhalb von 0,2 Meter.
Karl Heinz Buchegger schrieb:> Zahlenfetischismus ist was für Anfänger, die allen zeigen> wollen, dass sie Zahlen vom Taschenrechner abmalen können.
Haltlose Behauptungen sind nicht besser ;-)
Michael schrieb:> Die Genauigkeit bei der Angabe des Erdradius kann man sich sparen, da> alleine schon die Abweichung zwischen mittlerem Radius (6371km) und> Äquatorradius (6378) fast 7 km beträgt.
Zudem ist die Erde keine polierte Billiardkugel.
Karl Heinz Buchegger schrieb:> DAs nennt man dann differentielles GPS. Und das hab ich ja ausgenommen.> Wobei so einfach die Sache auch wieder nicht, weil man dann schon in> Bereiche kommt, in der Signalreflexionen an Gebäuden anfangen eine Rolle> zu spielen.
Ich meine nicht DGPS, sonder einfach zwei unterschiedliche
Positionsmessungen mit demselben Empfänger. Wenn es nur auf den Abstand
in Metern ankommt, ist die absolute Positionsmessung irrelevant.
Duda schrieb:> Karl Heinz Buchegger schrieb:>> DAs nennt man dann differentielles GPS. Und das hab ich ja ausgenommen.>> Wobei so einfach die Sache auch wieder nicht, weil man dann schon in>> Bereiche kommt, in der Signalreflexionen an Gebäuden anfangen eine Rolle>> zu spielen.>> Ich meine nicht DGPS, sonder einfach zwei unterschiedliche> Positionsmessungen mit demselben Empfänger. Wenn es nur auf den Abstand> in Metern ankommt, ist die absolute Positionsmessung irrelevant.
Die absolute Position, die ein und derselbe Empfänger misst, ändert sich
aber im Sekundentakt. Die hängt nämlich unter anderem auch von
Signalreflexionen bzw. dem Zustand der Atmosphäre ab. Die
Ausbreitungsgeschwindigkeit der Signale ist in unterschiedlichen
Temperatur-Zellen der Atmosphöre unterschiedlich, sie ändert sich auch
mit Vorgängen in der Ionosphäre. Wenn du dir mal die Rohdaten eines
GPS-Empfängers ansiehst, dann mekrst du, dass ein am Boden liegender
Empfänger laut Daten laufend in einem Umkreis von ein paar Meter hin und
her zu springen scheint.
Genau deswegen macht man differentielles GPS. Dazu nimmt man einen
bekannten Empfänger #in der näheren Umgebung#, dessen Position exakt
bekannt ist und vergleicht diese bekannte Position mit dem vom GPS
errechneten. Man kann dann davon ausgehen, dass ein anderer Empfänger in
der näheren Umgebug #zu einem bestimmten Zeitpunkt# exakt die gleiche
Abweichung feststellen wird, weil er ja dieselben Signale benutzt
(solange er die gleichen Satelliten anmisst) und daher alle
atmosphärischen Störungen sich bei beiden Empfängern gleich auswirken,
weil die Funkwellen praktisch den gleichen Weg durch die Atmosphäre
hatten. Der eine Empfänger dient mehr oder weniger als Fehlerfeststeller
für den anderen.
Duda schrieb:> Ich meine nicht DGPS, sonder einfach zwei unterschiedliche> Positionsmessungen mit demselben Empfänger. Wenn es nur auf den Abstand> in Metern ankommt, ist die absolute Positionsmessung irrelevant.
Schön wäre es. Die Fehler sind zeitlich nicht konstant, u.a. weil sich
die Satellitenkonstellation und die Ionosphäre laufend ändern. Die
Korrelationszeit liegt im Bereich von typ. 10 Sekunden.
Mit zwei gleichen Empfängern und Antennen sähe das besser aus, aber dann
ist man wieder nahe bei richtigem DGPS.
http://www.u-blox.com/en/gps-modules/neo-6p-/neo-6p.html
High precision of < 1 m
Positionierungsgenauigkeit liegt durchschnittlich bei 0,4m.
Bei längerer Messdauer lässt sich die Genauigkeit mit etwas Rechnerei
auf ca 6cm steigern.
Hallo zusammen,
ich glaube das wir uns vom Thema entfernen.
Mir geht es nicht um die genauigkeit sondern nur um die rechnung.
Also geht die formel oben nicht, bei kleinen distanzen. oder????
GPS schrieb:> http://www.u-blox.com/en/gps-modules/neo-6p-/neo-6p.html>> High precision of < 1 m>> Positionierungsgenauigkeit liegt durchschnittlich bei 0,4m.> Bei längerer Messdauer lässt sich die Genauigkeit mit etwas Rechnerei> auf ca 6cm steigern.
Besten dank für info.
Milan M. schrieb:> Also geht die formel oben nicht, bei kleinen distanzen. oder????
Natürlich geht sie, aber der Satz des Pythagoras erlaubt es, für nahe
beieinanderliegende Orte den Abstand wesentlich einfacher zu berechnen.
Du mußt dir aber bewußt sein, dass auch die Großkreisrechnung Fehler
macht, weil die Erde keine Kugel ist.
Michael schrieb:> Milan M. schrieb:>> Also geht die formel oben nicht, bei kleinen distanzen. oder????>> Natürlich geht sie, aber der Satz des Pythagoras erlaubt es, für nahe> beieinanderliegende Orte den Abstand wesentlich einfacher zu berechnen.> Du mußt dir aber bewußt sein, dass auch die Großkreisrechnung Fehler> macht, weil die Erde keine Kugel ist.
ok, kannst mir bitte ein beispiel machen. Weil ich die zusammen setzung
nicht so kapiere!
Milan M. schrieb:> Also geht die formel oben nicht, bei kleinen distanzen. oder????
Ich hab die Formel nicht kontrolliert. Ich geh mal davon aus, dass der,
bei dem du sie abgeschrieben hast, schon weiß, wie man Entfernungen am
Grosskreis rechnet.
Aber was ich dir sagen kann: Die Originalformel war für Grad gedacht, du
musst aber aus technischen Gründen die Winkel in Radianten einsetzen.
Und weil du das tun musst, muss auch die Berechnung für die metrische
Bogendistanz eines Grades auf die metrische Bogendistanz für Radianten
umgestellt werden.
Tust du das, dann wird schon annähernd das richtige rauskommen.
Annähernd deshalb, weil es naiv ist, auf einem AVR mit seiner float
Arithmetik Wunder zu erwarten. 5-6 signifikante Stellen lassen das nicht
zu. Wer erwartet, dass er bei 100 Additionen von 0.01, beginnend bei
0.0, letzten Endes bei 1.0 landet, der hat mit Zitronen gehandelt.
Karl Heinz Buchegger schrieb:> Ich hab die Formel nicht kontrolliert. Ich geh mal davon aus, dass der,> bei dem du sie abgeschrieben hast, schon weiß, wie man Entfernungen am> Grosskreis rechnet.
Sonst kann man auch bei Wikipedia nachgucken - oft stimmt das ;-)
http://de.wikipedia.org/wiki/Orthodrome#Strecke
Karl Heinz Buchegger schrieb:> Die Originalformel war für Grad gedacht, du> musst aber aus technischen Gründen die Winkel in Radianten einsetzen.
Die Grundformel gilt unabhängig davon, wie die Größen angegeben sind.
Die Handhabung ist ganz einfach:
Wenn die verwendeten trigonometrischen Funktionen den Winkel in Grad
erwarten, müssen die Winkel in Grad eingesetzt werden und wenn die
verwendeten trigonometrischen Funktionen den Winkel im Bogenmaß
erwarten, müssen die Winkel im Bogenmaß übergeben werden.
Michael schrieb:> Karl Heinz Buchegger schrieb:>> Die Originalformel war für Grad gedacht, du>> musst aber aus technischen Gründen die Winkel in Radianten einsetzen.>> Die Grundformel gilt unabhängig davon, wie die Größen angegeben sind.
Die Grundformel schon.
Aber in dem Formelteil, in dem der Erdradius eingeht, stecken das
Grad-System in Form der 360 drinnen. Passt man den Teil nicht an das
verwendete Syste an, kommt Blödsinn raus. Denn der acos liefert in
seinem Fall nun mal Radianten und wenn man die im Dreisatz mit den Grad
aus der Bogenlängenberechnung mischt, .....
Edit:
Ist ja sogar in dem von dir verlinkten Wiki-Artikel vermerkt.
Karl Heinz Buchegger schrieb:> Denn der acos liefert in> seinem Fall nun mal Radianten und wenn man die im Dreisatz mit den Grad> aus der Bogenlängenberechnung mischt, .....
Äpfel und Birnen muss man schon sauber auseinander halten.
Darum sollte man immer die Einheiten ranschreiben und sieht dann sofort,
dass die Umrechnung von Grad in Bogenmaß ((2*M_PI* ...)/360) natürlich
Unfug ist, wenn der rechte Teil der Formel das Ergebnis schon im
Bogenmaß liefert ;-)
Michael schrieb:> Milan M. schrieb:>> ok, kannst mir bitte ein beispiel machen.>> Bitte schön:Orte> Lat Lon>> P1 dddmm.mmmm 4500.0000 00800.0000> deg min 45 0 8 0> deg 45,0000000 8,0000000> rad 0,7853981634 0,1396263402>> P2 dddmm.mmmm 4510.0000 00810.0000> deg min 45 10 8 10> deg 45,1666667 8,1666667> rad 0,7883070455 0,1425352222>> Mittelbreite lat_m deg 45,0833333> cos(d_lat) 0,7060775885>> Pythagoras> d_lat, d_lon deg 0,1666667 0,1666667> d_lat rad 0,00290888 0,0029088821> dy, dx rad 0,0029088821 0,0020538964> dy, dx km 18,532 13,085> dy, dx m 18532,488 13085,374> dist km 22,687> dist m 22686,563>> Großkreis Kugel> dist0 0,5014523236> dist1 0,4985413364> bogen 0,0035609089> dist km 22,687> dist m 22686,551>> Differenz zwischen Großkreis und Pythagoras> m 0,012
Kannst Du mir biite erklören, wie Du die Werte gerechnet hast? formel
Pythagoras
d_lat, d_lon deg 0,1666667 0,1666667
d_lat rad 0,00290888 0,0029088821
dy, dx rad 0,0029088821 0,0020538964
Danke im voraus
Milan M. schrieb:> Kannst Du mir biite erklören, wie Du die Werte gerechnet hast? formel> Pythagoras
Den berühmt berüchtigten Phthagoras kennst du?
c^2 = a^2 + b^2
gültig im rechtwinkeligen Dreieck
+
|\
| \
a | \
| \ c
| \
| \
+------+
b
D.h. hast du 2 Orte
P1 +
+ P2
und willst du die 'Distanz' zwischen beiden
P1 +
\
\
\ dist
\
\
+ P2
dann ergänzt du zum rechtwinkeligen Dreieck
P1 +
|\
| \
| \ dist
| \
| \
------+ P2
und berechnst dir einfach die Differenzen der Punktkoordinaten
P1 +
|
|
dy |
|
|
------+ P2
dx
denn daraus kannst du dir mit dem Phythagoras wieder die 'direkte
Distanz' errechnen.
Und ... das ganze funktioniert auch dann, wenn sich hinter x und y nicht
irgendwelche Meter-Koordinaten verstecken, sondern wenn das Gradangaben
sind. Die Distanz, die sich dann ergibt, ist dann eben die
"Winkeldistanz" zwischen den beiden Punkten.
Für kleine Distanzen und 'moderate Breitengraden' funktioniert das auf
der Erdkugel, weil die Verzerrung durch die Kugelgestalt zu klein ist.
Das rechtwinkelige Dreieck ist nach wie vor ein gut genuges
rechtwinkeliges Dreieck, zumal ja der Erdradius (der in die Verzerrung
eingeht) konkret nicht auf den Millimeter genau stimmt, deine Positionen
nicht auf Hunderstel Winkelsekunden genau sind und da dir Erde keine
polierte Kugel ist, hast du auch noch durch die Höhendifferenz der
Punkte einen Fehler in der linearen Distanz der Punkte, die allesamt
nicht in die Berechnung eingehen. ISt also, wie gezeigt, der Fehler
durch den Phythagors bei 22km Distanz nur 12 Zentimeter und sind die
anderen Fehler in Summe größer, dann kannst du den Fehler durch die
vereinfachte Rechnung ignorieren. Bei einem Flug übere den Atlantik
sieht die Sache anders aus, aber bei einer Distanz von 22km in unseren
Breitengraden, spielen diese 12 Zentimeter nicht die dominierende Rolle.
Milan M. schrieb:> Pythagoras
Differenzen von lat1-lat2 bzw. lon1-lon2
> d_lat, d_lon deg 0,1666667 0,1666667
Umrechnung in Bogenmaß (* pi/180°)
> d_lat rad 0,00290888 0,0029088821
dy = d_lat * R bzw. dx = d_lon * cos(Mittelbreite) * R
> dy, dx rad 0,0029088821 0,0020538964
mit cos(Mittelbreite) = cos ((lat1+lat2)/2 = 0,7060775885
Alles gerechnet mit Erdradius R=6371 km
Michael schrieb:> dy = d_lat * R bzw. dx = d_lon * cos(Mittelbreite) * R>> dy, dx rad 0,0029088821 0,0020538964
Sorry, das war ein Schritt zu weit:
richtig:
dy = d_lat bzw. dx = d_lon * cos(Mittelbreite)
> dy, dx rad 0,0029088821 0,0020538964
Mit den dy und dx wird dann die Formel von Pythagoras gefüttert und das
Ergebnis mit dem Erdradius vom Bogenmaß in Bogenlänge (=Entfernung)
umgerechnet.
GPS schrieb:> http://www.u-blox.com/en/gps-modules/neo-6p-/neo-6p.html>> High precision of < 1 m>> Positionierungsgenauigkeit liegt durchschnittlich bei 0,4m.> Bei längerer Messdauer lässt sich die Genauigkeit mit etwas Rechnerei> auf ca 6cm steigern.
The maximum improvement of positioning accuracy is reached with PPP+SBAS
and can only be expected in an environment with unobstructed sky view
during a period in the order of minutes.
Hier schrieb:> The maximum improvement of positioning accuracy is reached with PPP+SBAS> and can only be expected in an environment with unobstructed sky view> during a period in the order of minutes.
Mit entsprechend guter Präzisionsantenne, ist auch bebautes Gelände
nicht problematisch. Man bleibt auch hier gut unter einem Meter Drift.
Der Empfänger ist auch vor allem für Baufahrzeuge oder zur
landwirtschaftlichen Nutzung gedacht. Im Wald oder in der Großstadt ist
die Drift höher - aber immer noch unter 2m.
Michael schrieb:> Michael schrieb:>> dy = d_lat * R bzw. dx = d_lon * cos(Mittelbreite) * R>>> dy, dx rad 0,0029088821 0,0020538964>> Sorry, das war ein Schritt zu weit:>> richtig:> dy = d_lat bzw. dx = d_lon * cos(Mittelbreite)>> dy, dx rad 0,0029088821 0,0020538964>> Mit den dy und dx wird dann die Formel von Pythagoras gefüttert und das> Ergebnis mit dem Erdradius vom Bogenmaß in Bogenlänge (=Entfernung)> umgerechnet.
Hallo Michael
es funktioniert. Besten dank
Allenfalls sollte man sich auch mit dem Datenformat bescheftigen. Float
als 32bit Single bringt 5-6dezimale Stellen. 64bit Double bringt 15-16
dezimale Stellen, und 80bit Extended bringen bis zu 18 Stellen. Dazu ist
noch anzumerken, dass gewisse Controller Libraries 32bit Single anstelle
von 64bit Double verwenden.
Zur Präzision der GPS-bestimmten Position: häufig wird die vom GPS
ausgegebene Auflösung (HDOP = Horizontal Dilution of Position) mit der
Genauigkeit der Position verwechselt. Jedem, der an die zitierten 1-2m
Abweichung glaubt, empfehle ich, ein GPS-Gerät auf die Fensterbank zu
legen und mal 2 Stunden die angezeigte Position zu verfolgen, z.B. mit
Visual GPS. Auch nach dem Abschalten der künstlichen
Signalverschlechterung im zivilen Band kommen noch Abweichungen von 15m
und mehr vor - nur für kurze Zeit; aber man kann nie wissen, ob die
eigene Messung nicht gerade zu dieser Zeit erfolgt. Die Abweichung sind
auch durch Mittelung über Minuten nicht zu verringern. Sieht man sich
an, wo das eigene GPS-Gerät in den vergangenen Stunden überall gewesen
sein will, wird man doch nachdenklich ...