Расстояние между двумя точками наклона - PullRequest
2 голосов
/ 06 апреля 2011

Я хочу определить расстояние между двумя точками наклона.Простая формула расстояния http://www.purplemath.com/modules/distform.htm неверна, поскольку мы имеем дело с двумя различными мерами (широта и долгота).

Существует ли стандартное решение этой проблемы?

Ответы [ 3 ]

2 голосов
/ 06 апреля 2011

использовать Haversine formula.

см. Эту ссылку http://www.movable -type.co.uk / scripts / latlong.html

0 голосов
/ 04 апреля 2015

Попробуйте эту функцию javascript haversine вместе с вспомогательной функцией torad (), которую я использую для своего приложения карты

function calculateHaversineDistance(lat1x, lon1, lat2x, lon2) {
    var R = 6371; // km
    var dLat = toRad(lat2x-lat1x);
    var dLon = toRad(lon2-lon1);
    var lat1 = toRad(lat1x);
    var lat2 = toRad(lat2x);
    var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
            Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); 
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
    return R * c;
 }
function toRad(x) {
    return x * Math.PI / 180;
 }

Надеюсь, это поможет.

0 голосов
/ 06 апреля 2011

попробуйте это. Используется формула «haversine» для вычисления расстояний между двумя точками, то есть кратчайшего расстояния над поверхностью земли, что дает расстояние «по прямой линии» между точками.(игнорируя любые холмы!).

Формула Haversine:

R = earth’s radius (mean radius = 6,371km)

Δlat = lat2− lat1 Δlong = long2− long1 a = sin² (Δlat / 2) + cos (lat1) .cos(lat2) .sin² (Δlong / 2) c = 2.atan2 (√a, √ (1-a)) d = Rc

или перейдите по ссылке, http://www.movable -типа.co.uk/scripts/latlong.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...