Ich bin mir nicht sicher, wonach Sie suchen. Teilen Sie hier ein paar Gedanken:
1) Wenn Sie die Großkreisdistanz zwischen zwei Punkten in lat/lon berechnen möchten, können Sie den Abstand havorsine formula verwenden. Beispiel in JS:
function Haversine_distance(lat1,lon1,lat2,lon2) {
var R = 6371; // in km
var x1 = lat2 - lat1;
var dLat = x1.toRad();
var x2 = lon2 - lon1;
var dLon = x2.toRad();
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d*1.0;
};
2) Wenn Sie eine genauere Entfernungsberechnung benötigen müssen Sie einige Korrekturfaktor, da die Erde kein perfer Kugel ist. Es ist immer einfacher, die Standorte, die Sie haben, auf eine geeignete Projektion zu projizieren und die Entfernung dort zu berechnen. Projizieren Sie beispielsweise mit proj4js in UTM-Zonen, und berechnen Sie dann die Entfernung, um die Ungenauigkeit zu reduzieren.
3) Wenn Sie in Städten über Fußdistanz sprechen, dann ist es Netzwerkentfernung. Es ist erforderlich, dass Ihr Straßennetz zuerst aufgebaut wird und dann von dort aus berechnet wird. Ohne das Straßennetz reicht die Angabe von Punkten nicht aus, um die Gehstrecke zu berechnen. Kommerzielle Daten für Straßennetze sind von TeleAtlas erhältlich. Kostenlose Daten können auch über OpenStreetMap gefunden werden.
Bitte werfen Sie einen Blick auf diesen Beitrag: - http://www.movable-type.co.uk/scripts/latlong.html –
Und das kann nützlicher sein: - http://stackoverflow.com/questions/ 27928/berechnen-Abstand-zwischen-zwei-Breite-Länge-Punkte-haversine-Formel –
danke @BharatNakum für Ihre Antwort. Leider war ich nicht danach. Ich habe die Frage leicht bearbeitet, um das zu verdeutlichen. – Stella