Mailinglisten-Archive |
>Also ich habe vor anhand von Geokoordinaten die Entfernung von zwei >Orten (in Deutschland) zu berechnen. Geht dies ? Hat jemand sowas >schon gelöst. Wenn Du das Problem rein geometrisch löst, und die Karte als planar betrachtest, erhältst Du erhebliche Abweichungen da die Abstände der Grade sich zu den Polen hin verjüngen. Deshalb muss man das ganze auf der Kugel rechnen: Ort 1 hat die Koordinaten laenge1, breite1 Ort 2 hat die Koordinaten laenge2, breite2 abstand = 111.13384 * acos( cos(breite2*(pi/180))*cos(breite1*(pi/180))*cos((laenge2-laenge1)*(pi/180))+sin(breite2*(pi/180))*sin(breite1*(pi/180))) / (pi/180) Diese Entfernung ist dann die Luftlinie. Die Genauigkeit hängt natürlich auch von den verwendeten Daten ab. Soweit ich gesehen habe, führst Du die Geokoordinaten nur mit 2 Nachkommastellen, auch haben grosse Städte nur 1 Koordinate sprich den Ortsmittelpunkt. Routenplaner wie Map & Guide verwenden ein Netz von Strassenkreuzungen, die Informationen wie Abstand und Fahrzeit zum nächsten Knoten enthalten. Durch C2 oder Dijkstra-Algorithmen werden dann die kürzesten Wege ermittelt. Gruss Alain
php::bar PHP Wiki - Listenarchive