Клуб API Карт

Разбивка маршрута на "По городу" и "За городом"

Пост в архиве.

Добрый день.

Есть маршрут начинается он в городе а заканчивается за городом (или в соседнем городе/селе).

Для правильных расчётов необходимо выяснить какая протяжённость маршрута: по городу - одна цена, за городом другая.

Подскажите как наиболее изящно решить этот вопрос?

Из того что придумал сам:

1. геокодируем каждую точку маршрута

2. перебираем результаты и смотрим в AddressDetails LocalityName

3. Если LocalityName отличается от нашего города, значит эта точка уже за городом и здесь нужно разделить наш маршрут.

Из недостатков:

1. много запросов к геокодеру

2. Не очень точно,

Второй вариант над которым думаю:

границы города обносим ломаной или многоугольником а затем ищем пересечение маршрута с границей, но тоже, мне кажется, сложный и не красивый вариант.

 

Может у кого то есть другие идеи? Или готовое решение

2 комментария
Второе ваше решение более правильное и точное.

Сложность заключается только в получении границ города. А сама задача решается несложно (если у вас будут координаы границ, но не получится решить задачу - пишите, помогу).

К сожалению, готового решения нет.
Так и думал что прийдётся геометрию вспоминать :)