@E6APB

Как грамотно искать ближайшие объекты с учётом маршрутов?

Допустим мне нужно найти ближайших курьеров. Для этого я использую формулу Гаверсинуса. Нашел. Все супер. Но есть проблема - например, ближайший по формуле курьер находится через реку, а на самом деле ближайший курьер находится чуть дальше от точки поиска. И система в итоге выберет курьера который находится на том берегу, ему нужно будет дойти до моста, перейти реку и т д. А второй курьер оказался фактически ближе, ведь ему не нужно было переходить реку. Как решается такая проблема? Знаю что придется использовать апи карт, ведь у меня нет данных маршрутов.
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
@Fortop
Tech/Team lead
У вас два варианта.
1. Если вы большой и можете хранить граф всех связей нужных вам объектов. Тогда просто делаете это и считаете маршруты и расстояния по графу. При этом расстояние по графу для кратчайшей прямой через реку будет естественно больше.

2. Если вы маленький, тогда считаете расстояния по маршрутам выдаваемым апи картографии.
И берете нужное вам.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Или делите курьеров которые работают только на том или другом берегу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы