Kalle_B: Entfernungen berechnen

Hallöle,

kennt jemand eine Formel, mit der ich die Entfernung zwischen zwei geografischen Koordinaten berechnen kann?

Irgendwie ist es ja ein Kreisbogen auf dem Großkreis, habe im Moment aber keine Idee, wie ich ansetzen kann ...

Lieben Gruß, Kalle

  1. Hallo,

    ich hab ein buch da steht das drin (Profibuch VB.NET). Das gibts auch als PDF, allerdings kpoiergeschützt. Mal gucken, inwiefern ich den algorithmus posten kann. Ich melde mich wieder, wenn ich es habe!

    mfg, Flo

    --
    sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
    1. Hallo,

      naja, da wurde ja schon was gepostet, meins hier kannst du getrost vergessen :)

      mfg, Flo

      --
      sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
  2. Irgendwie ist es ja ein Kreisbogen auf dem Großkreis, habe im Moment aber keine Idee, wie ich ansetzen kann ...

    http://www.kompf.de/gps/distcalc.html

    1. http://www.kompf.de/gps/distcalc.html

      Das ist ja eine umfassende Erklärung. Danke für den Link.

      Kalle

  3. Moin.

    Angenommen, die Erde sei eine perfekte Kugel. Dann ist die Entfernung zweier Punkte auf der Oberfläche einfach der Winkel [latex]\lambda[/latex] zwischen den Ortsvektoren vom Erdmittelpunkt multpliziert mit dem Erdradius [latex]R[/latex].

    Kennt man (geographische) Länge [latex]\phi[/latex] und Breite [latex]\theta[/latex], lauten die kartesischen Koordinaten des Ortsvektors
    [latex]
    \vec r = R \cdot (\cos\theta\cos\phi, \cos\theta\sin\phi, \sin\theta)
    [/latex]

    Weiterhin gilt
    [latex]
    \cos\lambda = \frac{\vec r_1 \cdot \vec r_2}{||\vec r_1||\cdot||\vec r_2||}
    [/latex]
    [latex]
    = \cos\theta_1\cos\phi_1\cdot\cos\theta_2\cos\phi_2 + \cos\theta_1\sin\phi_1\cdot\cos\theta_2\sin\phi_2 + \sin\theta_1\sin\theta_2
    [/latex]
    [latex]
    = \cos\theta_1\cos\theta_2\cos(\phi_1-\phi_2) + \sin\theta_1\sin\theta_2
    [/latex]
    wobei im letzen Schritt die trigonometrischen Additonstheoreme verwendet wurden.

    Insgesamt erhält man
    [latex]
    d = R\cdot\lambda = R\cdot\arccos(\cos\theta_1\cos\theta_2\cos(\phi_1-\phi_2) + \sin\theta_1\sin\theta_2)
    [/latex]

    Das Dumme daran: die Erde ist leider keine perfekte Kugel. In der Regel wird sie durch einen oblaten Spheroiden genähert, z.B. WGS-84 bei GPS oder den Bessel-Ellipsoid bei deutschen Gauß-Krüger-Koordinaten.

    Die Formeln für die Entfernungbestimmung auf Spheroiden kann ich leider nicht aus dem Ärmel schütteln: dazu müsste ich erstmal herausfinden, wie die Geodäten überhaupt aussehen und deren Länge durch Integration bestimmen - das kann sich der geneigte Leser in einer freien Minute selbst überlegen ;)

    Christoph

    1. Das Dumme daran: die Erde ist leider keine perfekte Kugel.

      Der Fehler wird in dem von suit verlinkten Artikel auf 0.02% (Rüsselsheim - Lissabon) beziffert. Damit kann ich gut leben.

      Ich wollte nicht im Blindflug auf dem Lissaboner Flughafen landen (da kann so ein Fehler von 500m tödlich sein), sondern moderate Entfernungen unabhängig vom Breitengrad der Orte bestimmen.

      Kalle

  4. kennt jemand eine Formel, mit der ich die Entfernung zwischen zwei geografischen Koordinaten berechnen kann?

    Ja, das Archiv auch, z.B. da: http://forum.de.selfhtml.org/archiv/2008/6/t172693/

    Irgendwie ist es ja ein Kreisbogen auf dem Großkreis, habe im Moment aber keine Idee, wie ich ansetzen kann ...

    Kreisbogen wäre ein guter Suchbegriff gewesen.