@E6APB

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

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

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

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

Похожие вопросы