2016-10-05 10 views
0

Ich habe Paare von GPS-Koordinaten (Länge Breite) und ich möchte die Gehstrecke zwischen ihnen berechnen. d. h. unter Verwendung von Straßendaten (von Google Maps oder einer anderen Open Source) berechnen Sie den km der kürzesten Route zwischen den zwei GPS-Punkten. Ich könnte es mit Google Maps tun, aber ich habe Tausende von Paaren, also würde ich gerne einen automatisierten Weg finden.Gehstrecke zwischen GPS-Punkten berechnen

Weiß jemand, wie man es macht?

+0

Bitte werfen Sie einen Blick auf diesen Beitrag: - http://www.movable-type.co.uk/scripts/latlong.html –

+0

Und das kann nützlicher sein: - http://stackoverflow.com/questions/ 27928/berechnen-Abstand-zwischen-zwei-Breite-Länge-Punkte-haversine-Formel –

+0

danke @BharatNakum für Ihre Antwort. Leider war ich nicht danach. Ich habe die Frage leicht bearbeitet, um das zu verdeutlichen. – Stella

Antwort

0

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.

+0

danke für Ihre Antwort. Leider war das nicht, was ich suchte. Ich habe versucht, die Frage zu klären. – Stella

+0

Quit unglücklich Ich habe Ihre Idee nicht bekommen. Wenn Sie es über Google manuell tun können und Sie nach einer vorhandenen Arbeit/einem Werkzeug suchen, die dasselbe tun, tut mir leid, dass ich die schnelle Antwort darauf nicht habe. Aber wenn Sie etwas Codierung tun können, ist es gut, Google Api-Dokumentation für diese https://developers.google.com/maps/documentation/distance-matrix/intro –

+0

zu sehen, und Google Map verwendet TeleAtlas Straßennetzwerkdaten das ich erwähnte, ist es nicht "frei". Bitte lesen Sie den Begriff, bevor Sie ihn mit Ihrem Schlüssel verwenden. –

Verwandte Themen