Два маршрута в одном направлении?

У меня есть следующие маршруты:

введите здесь описание изображения

Красный идет от А к Б, синий идет от А' к Б', а зеленый идет от А'' к Б''. У меня есть широта/долгота для A, B, A', B', A'' и B'' (я использую Google Maps API), и я хочу знать, существует ли алгоритм для определения того, имеют ли два маршрута то же направление.

Например, на картинке красный и синий маршруты имеют одинаковое направление.


person Marcos    schedule 19.05.2012    source источник


Ответы (1)


Найдите азимут B и A. страница Movable-type является стандартной. ссылка.

Однако вы также можете использовать библиотеку геометрии в Google Maps API v3:

var a = new google.maps.LatLng(...);
var b = new google.maps.LatLng(...);
var bearing = google.maps.geometry.spherical.computeHeading(a,b)
person Andrew Leach    schedule 19.05.2012
comment
Спасибо. Я пробовал ваше решение, но не знаю, как интерпретировать результат. Например, у меня есть следующие маршруты: maps.google.es/maps/ и пеленг от A до B возвращает 347,8, пеленг от A' до B' возвращает 328,17 и пеленг от B' до A' возвращает 148,16. Я использую эту реализацию: stackoverflow.com/q/2232911/434171 - person Marcos; 19.05.2012
comment
На вашей карте азимут B относительно A отличается от пеленга B' от A'. Часть маршрута AB отображается параллельно части маршрута A'B', но вам необходимо протестировать отдельные части маршрута. Ваши азимуты кажутся правильными (хотя и с необычного нулевого направления). - person Andrew Leach; 21.05.2012