Карты Nokia HERE: вычисление смещения между двумя координатами

Я пытаюсь вычислить смещение между двумя координатами в метрах. Есть ли в here картах функция, которая выполняет этот расчет?

Если нет, как мне эффективно рассчитать расстояние между двумя координатными точками в JavaScript.


person Nagendra Rao    schedule 11.12.2013    source источник
comment
Я предполагаю, что это было -1 просто потому, что это был короткий вопрос. В настоящее время в мета-мете подробно обсуждается этот вопрос.   -  person Liam    schedule 11.12.2013
comment
Имеет смысл. В любом случае я нашел то, что искал, stackoverflow.com/a/10054282/1161412. (Теперь мне просто нужно реализовать то же самое в JS) Хотя, я все же хотел бы знать, есть ли в HERE картах какие-то функции для того же. Итак, я собираюсь оставить этот вопрос открытым в течение недели.   -  person Nagendra Rao    schedule 11.12.2013


Ответы (2)


Я думаю, вы ищете distance () в классе nokia.maps.geo.Coordinate. Пример использования можно найти в примере Найти ближайший маркер в ЗДЕСЬ страницы сообщества Карт на GitHub.

person Jason Fox    schedule 12.12.2013

Я нашел эту функцию php (основанную на алгоритме Винсенти), и она отлично работает при вычислении смещения между двумя координатами,

<?php
function vincentyGreatCircleDistance($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo, $earthRadius = 6371000){
        // convert from degrees to radians
        $latFrom = deg2rad($latitudeFrom);
        $lonFrom = deg2rad($longitudeFrom);
        $latTo = deg2rad($latitudeTo);
        $lonTo = deg2rad($longitudeTo);

        $lonDelta = $lonTo - $lonFrom;
        $a = pow(cos($latTo) * sin($lonDelta), 2) +
        pow(cos($latFrom) * sin($latTo) - sin($latFrom) * cos($latTo) * cos($lonDelta), 2);
        $b = sin($latFrom) * sin($latTo) + cos($latFrom) * cos($latTo) * cos($lonDelta);

        $angle = atan2(sqrt($a), $b);
        return $angle * $earthRadius;
    }
?>

Позвонить:

<?php $distance_in_meters = vincentyGreatCircleDistance(53.6235,-1.34307, 51.6554, -2.3445 ); ?>
person Nagendra Rao    schedule 20.12.2013