[Talk-de] OpenLayers / OSM-Koordinaten / Delta km zwischen zwei Punkten

Frederik Ramm frederik at remote.org
Do Apr 17 20:57:03 UTC 2008


Hallo,

> zanke mich gerade mit Koordinatenumrechnungen rum. Ich will Distanzen in
> meinen Fahrradroutenzusammenklicker http://www.pifpafpuf.de/cycleroute/
> einbauen

Das

    <script
      src="http://dev.openlayers.org/nightly/OpenLayers.js"></script>

floesst mir ein bisschen Angst ein. Ich sehe auch nur eine weisse
Flaeche statt einer Karte. Hab mich mit dem Openlayers nicht so
beschaeftig, aber die Rechts- und Hochwerte, die die
Mercator-Projektion da ausspuckt, sollten eigentlich schon Meter sein!
Oder arbeitet das inzwischen mit richtigen lat/lon-Werten? Dann musst
Du Dir irgendwo eine "great circle distance"-Formel klauen. In Java
geht das so:

  /**
   * Computes the distance between this lat/lon and another point on the earth.
   * Uses spherical law of cosines formula, not Haversine.
   * @param other the other point.
   * @return distance in metres.
   */
  public double greatCircleDistance(LatLon other) {
          return (Math.acos(
                  Math.sin(Math.toRadians(lat())) * Math.sin(Math.toRadians(other.lat())) + 
              Math.cos(Math.toRadians(lat()))*Math.cos(Math.toRadians(other.lat())) *
                            Math.cos(Math.toRadians(other.lon()-lon()))) * 6378135);
  }

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"





Mehr Informationen über die Mailingliste Talk-de