• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

suche Algorithmus

schappi

Geocacher
Hat mir jemand den Algorythmus zum Errechnen der Entfernung zwischen zwei Punkten im WGS84 Format mit rein dezimaler Gradangabe ?

am Besten in Perl. Mathematisch reicht mir aber schon.
 

Cornix

Geowizard
Die Rechenvorschriften findest du hier: Orthodrome (siehe Beispiel Berechnung der Entfernung Berlin - Tokio).
Die paar Formeln mit Sinus und Cosinus hat du schnell selbst programmiert.

Cornix
 

Windi

Geoguru
Nur interessehalber: Womit arbeiten denn unsere Garmins wenn wir auf einen Wegpunkt zusteuern?
Mit Loxo- oder Orthodrome?
 

morsix

Geowizard
HHL schrieb:
Windi schrieb:
Nur interessehalber: Womit arbeiten denn unsere Garmins wenn wir auf einen Wegpunkt zusteuern?
Mit Loxo- oder Orthodrome?
ortho.

happy mapping

Wobei das beim cachen kaum einen Unterschied machen dürfte. Die Strecken sind beim normalen Annähern in "Luftlinie" zu Fuss zum cache (und nur da kann man auch mal den direkten Weg gehen) so gering (ich bin nie mehr als 1000m so gerade wie möglich auf den cache zu gegangen), daß die Differenz zwischen Loxo und Orthodrom im mm Bereich liegen dürften.

Eine deutliche Differenz dürfte man nur bei der Luftfahrt merken wenn man einige 1000km weit fliegt, einmal Luftlinie und einmal über definierte Punkte einer Projektion (Landkarte).

Grüße
Rudi
 

Colin

Geocacher
Müsste man nicht genaugenommen die Entfernung zwischen 2 Punkten auf einem Ellipsoid bestimmen...?
 
Colin schrieb:
Müsste man nicht genaugenommen die Entfernung zwischen 2 Punkten auf einem Ellipsoid bestimmen...?

Irgendwo habe ich mal gelesen, das bei Berechnungen von Grundstücksgrößen deren Kantenlängen kleiner sind als 20km diese einfach aus der Karte entnommen werden darf (Gauss Flächenberechnung im Gauss Krüger Koordinatensystem).

Wie genau willst du es haben? Und worauf soll es sich beziehen?

Ellipsoid ist ja auch nur eine Annäherung an den Geoid.

KDB
 

kiozen

Geomaster
schappi schrieb:
Hat mir jemand den Algorythmus zum Errechnen der Entfernung zwischen zwei Punkten im WGS84 Format mit rein dezimaler Gradangabe ?

am Besten in Perl. Mathematisch reicht mir aber schon.

Im Source Code von QLandkarte http://qlandkarte.sourceforge.net findest Du in der Datei IProjection.cpp eine Implementierung der Vincenty Formel zur Distanzberechnung inkl. Link zur Originalquelle die in Java geschrieben wurde. Das sollte sich doch ohne Probleme in Perl übertragen lassen.

Ein genaues Ergebnis bekommst Du nie. Es hängt immer davon ab, welches Modell von Mutter Erde Du benutzt. Der tatsächliche Weg immer länger :wink:

Oliver
 
OP
S

schappi

Geocacher
oops, ich wollte keine Grundsatzdiskussion anzetteln.

Mein Ansatz ist der folgende:
Wenn ich eine Route / Track habe und entlang diesem mit GeocacheScanner Caches entlang finden möchte, kommt es vor, dass Abstände grösser als 100 Meter entstehen. Diese Abstände möchte ich mit Punkten in 100m Entfernung auffüllen, damit kein cache verloren geht.

Genauigkeit ist mir (in diesem speziellen Fall) ziemlich schnuppe, da ich anstatt der Strasse genau zu folgen 100m geradeaus gehe. Ich rechne mit einer Grund-Ungenauigkeit von einigen Meter bis wenige zehn Meter. Das entspricht auch einem normalen schlechten Empfang von GPS Signalen.

Eine rein Mathematisch-geometrische Formel reicht mir völlig. Ich werde wohl den alten Pythagoras wiedereinmal bemühen...
 
schappi schrieb:
Eine rein Mathematisch-geometrische Formel reicht mir völlig. Ich werde wohl den alten Pythagoras wiedereinmal bemühen...
Und ein wenig Vektorrechnung.

Hier ein Kochrezept:
Zuerst die Koordinaten von Wgs84 nach GausKrüger konvertieren. Dann die Route zu einer Fläche erweitern. Dazu die einzelnen Strecken nach links und rechts um x Meter verschieben. Die Linken Strecken gegeneinander verschneiden und das mit den rechten. So hat man da zwei Routen, die man am Ende verbindet, hierbei die zusätzlichen x Meter nicht vergessen. So hat man dann eine Polyline, die eine Fläche um rundet. Mit Punkt in Polyline findet man dann alle Caches die in dieser Fläche liegen. Vorsicht: bei allzu spitzen Winkel können Strecken verschwinden.

Vor 15Jahren habe ich so eine Funktion geschrieben mit dem Namen Drumelum. :) Könnt ich also raussuchen.
KDB
 
OP
S

schappi

Geocacher
Hallo König der WGS-Formel,

ich dachte da eher an Entfernung, Steigung, und dann alle 100m einen Punkt....

Die Steigung wollt eich einfach halten indem ich a/b nehme. Den Rest erledigen genäherte Konstanten...
 
schappi schrieb:
Hallo König der WGS-Formel,

ich dachte da eher an Entfernung, Steigung, und dann alle 100m einen Punkt....

Die Steigung wollt eich einfach halten indem ich a/b nehme. Den Rest erledigen genäherte Konstanten...
Na mein Ansatz kam aus einer Architekturanwendung, da muss der Fehler kleiner als 1cm sein.

Wenn du nur den Abstand von Punkten nehmen willst, weil du diese Formel parrat hast, sollte deine Punktfolge dicht genug sein, sonst fallen ja paar außerhalb der Rundungen.

Aber wie setze ich die Punkte?

Vielleicht alle 10m auf der Strecke. Wenn das mit GaussKrüger dir sparen willst, dann musst du von der Länge deiner Strecke ausgehen. Sagen wir mal die Länge deiner Strecke wäre 2.4km, so benötigst du 240Punkte. Also rechnest du

Code:
xn=(P2x-P1x)/240*n + P1x;
yn=(P2y-P1y)/240*n + P1y;

Mit n der nte Punkt auf der Strecke. Diese Form ist zwar schnell hingeschrieben, aber es werden doch sehr viele Punkte benötigt. Der Rechenaufwand steigt doch sehr und gilt nur in erster Annäherung wenn am Lat und Lon für x und y nimmt, sollte aber für viele Anwendungen reichen.

Beim Rechnen mit Vektoren sparst du dir das /b, was ja immer wieder schöne Abstürze produzieren kann. :wink:

KDB
 

jmsanta

Geoguru
HHL schrieb:
Windi schrieb:
Nur interessehalber: Womit arbeiten denn unsere Garmins wenn wir auf einen Wegpunkt zusteuern?
Mit Loxo- oder Orthodrome?
ortho.
hm, eine Orthodrom-Berechnung zu Fuß Berlin-Tokio spuckt ca. 1000km weniger aus als die Berechnung des 60CSx

jaja, ich weiß, Fred ist nicht taufrisch, aber meine mir selbstgestellte Frage...
 
OP
S

schappi

Geocacher
Hi Santa !
Ich bin auch nicht mehr zum programmieren gekommen. :schockiert:
War einfach zuviel los die letzten Monate. vielleicht habe ich ja in ein paar Wochen wieder etwas Zeit dafür. Bislang hat mir die sehr grobe Näherung aber immer ausgereicht.

Gruss, Felix
 
A

Anonymous

Guest
Hier kann man eine Menge solcher Berechnungen online machen lassen.
Sowohl die Orthodrome (Großkreis=kürzer) als auch die Loxodrome (gerade Linie=länger). Ganz gut um seine eigenen Berechnungen zu kontrollieren, macht man ja schließlich nicht jeden Tag.

http://www.aeroplanner.com/calculators/avcalcdist.cfm

GermanSailor
 
Oben