Как построить несколько маршрутов на одной карте
Перейти к содержимому

Как построить несколько маршрутов на одной карте

  • автор:

Как на google maps проложить маршрут более чем через 10 точек?

Добрый вечер.
Как можно проложить маршрут на google.maps более чем 10 точек?
К примеру — при моих расчетах популярных poi, на маршрут одного дня (8 часов) в определенном городе, можно осмотреть 32 достопримечательности, карты гугл позволяют указать только 10.

Что делать в данной ситуации ?

Если в google.maps нет возможности проложить эти точки, то мб. есть такая возможность в др. сервисах?

  • Вопрос задан более трёх лет назад
  • 80848 просмотров

1 комментарий

Оценить 1 комментарий

Ну так что, помог вам мой вариант, или нет?
Решения вопроса 0
Ответы на вопрос 3

map.project-osrm.org позволяет создавать множество промежуточных точек, но:
а) промежуточные точки нельзя вводить через поиск, только через перетаскивание маркера с проложенного пути от начальной к конечной точке;
б) OSRM не решает задачу оптимального обхода всех точек (только выбирает оптимальный маршрут для каждого отрезка), так что полностью заменить голову не может.
В Google Maps вы можете только разбить маршрут на части по 10 точек и анализировать каждый кусок независимо.

Ответ написан более трёх лет назад
Нравится 1 2 комментария

IrishkaDeutsch

Ирина @IrishkaDeutsch Автор вопроса

У меня уже все точки поделены на дни и находятся друг за другом по оптимальному расстоянию.
Единственное что требуется, это дать список poi сервису и получить маршрут по дороге.
Все вычисления уже готовы.

Ирина: Ну вот OSRM на этом сайте позволяет добавить промежуточные точки только вручную перетаскиванием. Если использовать библиотеку OSRM самостоятельно, отдельно, то можно написать интерфейс, который бы позволял эти точки добавить автоматически из списка. Из вашего вопроса не ясно, нужен ли вам исключительно готовый веб-сервис или программное средство, пригодное, например, для встраивания в свой сайт. Во втором случае OSRM вас должен полностью удовлетворить.

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me

Всем привет! Меня зовут Александр, я разрабатываю ActiveTrip.me — cервис для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток.

О том, почему мы начали делать такой сервис, расскажем подробно в отдельной статье, а здесь осветим технические особенности.

Что уже можно делать в сервисе:

  1. Строить автоматически маршрут по тропам и дорогам в зависимости от предполагаемого типа передвижения
  2. Строить автоматически маршрут по рекам
  3. Строить маршрут без привязки к дорогам (по прямой между двумя точками)
  4. Строить несколько маршрутов на одной карте
  5. Отмечать важные места на маршруте метками
  6. Изучать местность благодаря разным картам и слоям
  7. Шарить маршруты и скачивать в форматах GPX и KML

Скоро будет добавлена возможность совместного редактирования маршрутов (как в Figma).

Реализация такого картографического сервиса подразумевает решение нескольких базовых задач:

  • Работа с картами и слоями. Получение, хранение и раздача пользователям интересующих их карт и дополнительных слоев
  • Работа с геоданными. Предоставление пользователю инструмента для построения маршрута по точкам с указанием набора дополнительных ограничений, к которым можно отнести:
    • Выбранный способ передвижения: пешком, на велосипеде, на автомобиле, по рекам
    • Тип покрытия поверхности: асфальт, грунт
    • Протяженности маршрута
    • Типах покрытия поверхности, по которым проходит маршрут: асфальт или грунт. Важно для велосипедистов и внедорожных путешествий
    • Информации о высотах: график профиля высоты маршрута, суммарные набор и сброс высоты, максимальная и минимальная высота на маршруте и т.д. Важно для любого похода в горной местности

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

    • Возможность поделиться созданным треком через прямую ссылку
    • Импорт GPX и KML-файлов в сервис для последующего редактирования. GPX и KML являются форматами представления трехмерных пространственных геокоординат и основаны на XML-разметке. Большинство навигаторов и навигационных приложений (Garmin, Locus, OsmAnd) используют именно GPX-формат, однако некоторые (Maps.me, Organic Maps) поддерживают только KML-формат
    • Экспорт GPX и KML-файлов. После подготовки маршрута на нашем сервисе его можно загрузить в навигатор или в мобильное приложение и отправиться в путешествие

    Существует множество способов реализации каждой из перечисленных выше фич в своем собственном картографическом сервисе. Как правило, можно:

    • Прибегнуть к использованию доступных SDK, open source модулей и библиотек, подняв свой собственный сервер
    • Воспользоваться специализированными сервисами, предоставляющими возможность интеграции через API

    Построение маршрута

    При попытке решения задачи построения маршрутов, мы обратились к известным open source решениям. Стояла задача справиться с минимальными затратами на вычислительные и финансовые ресурсы (на старте у нас был в наличии скромный VPS сервер с 1 ТБ HDD и 4 GB RAM).

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

    Valhalla

    Сборка и запуск Valhalla с использованием собственных ресурсов подробно описаны в документации и состоят из двух шагов:

    1. Необходимо развернуть подготовленный контейнер или собрать его самостоятельно из исходников через CMake. Исходники включают в себя http-сервис, а также набор утилит для препроцессинга геоданных
    2. Далее скачать OSM-данные нужных регионов и скормить утилите препроцессинга

    При развертывании процессинг отдельных небольших регионов осуществляется на упомянутом железе за десятки минут (для Швейцарии потребовалось 20 минут). Процессинг стран Европы и Азии отрабатывал несколько суток и, в итоге, завершился с ошибкой.

    GraphHopper

    Алгоритм запуска инстанса GraphHopper во многом аналогичен.

    Процессинг занимает в разы меньшее количество времени (~12 часов на весь мир), но требует значительного количества RAM. В нашем случае это около ~128 ГБ на препроцессинг и ~64 ГБ для дальнейшей работы сервиса (хранит данные в памяти в сжатом виде).

    Завышенные нами числа относительно упомянутых в документации появляются из-за необходимости работы не только с автомобильными маршрутами, но и пешими с велосипедными.

    Альтернатива — использование уже развернутой версии GraphHopper Direction API. Бесплатная версия ограничена 500 запросами в день, что даже для реализации прототипа оказалось недостаточно.

    Mapbox

    Mapbox — широко известный поставщик пользовательских онлайн-карт, сервисов навигации и геопоиска для веб-сайтов и приложений.

    Также Mapbox хостит и предоставляет возможность использования Valhalla в рамках Navigation API. В бесплатном варианте использования доступно до 100000 запросов в месяц.

    Помимо непосредственно построения маршрута, Mapbox предоставляет информацию о построенном треке — протяженность и приблизительное время прохождения.Из функциональных ограничений — отсутствие возможности построения маршрутов по воде, а также возможности получения информации о типе поверхности, по которой проходит трек.

    BRouter

    BRouter — открытый движок для построения маршрутов. Представлен в виде исходного кода движка, сервера для развертывания на собственном железе и мобильного приложения.

    Отличается гораздо более низкими требованиями с точки зрения ресурсов. Данные после препроцессинга занимают кратно меньше места, чем в случае с GraphHopper и Valhalla.

    Возможно обновление данных на регулярной основе (на текущий момент BRouter поставляет свежие данные раз в неделю).

    Из недостатков — строит маршрут медленнее, чем решения, построенные на базе Valhalla.

    Из ключевых преимуществ — возможность построения маршрутов по воде.

    Что мы в итоге используем для построения маршрута?

    Для реализации прототипа мы решили ограничиться использованием Valhalla API, предоставляемое Mapbox, для построения маршрутов по земле, для воды использовали развернутый на собственном железе сервер Brouter.

    Для оптимизации количества запросов к Mapbox (с учетом ограничения бесплатного использования) мы внедрили следующее:

    1. Построенный пользователем маршрут мы сжимаем с использованием Polyline Encoding алгоритма и кешируем на своей стороне. При повторном обращении к созданному треку мы избегаем лишних вызовов к API и отрисовываем трек на основе сохраненных данных
    2. При внесении модификаций в построенный маршрут мы перестраиваем лишь необходимый участок. Помимо оптимизации количества вызовов мы улучшаем пользовательский опыт, поскольку операция обновления маршрута в общем случае не идемпотентна: у нас нет гарантии, что для одинакового набора точек мы всегда будем получать маршруты идентичного вида

    Расчет высоты

    Поход к расчету высоты мы посмотрели у создателя проекта Nakarte.me:

    1. Берем открытые данные о высотах из http://viewfinderpanoramas.org
    2. Осуществляем препроцессинг данных о высотах с использованием утилиты и складываем их в БД
    3. Поднимаем сервер, работающий с подготовленными данными. Сервер по переданной на вход нитке маршрута осуществляет интерполяцию высот на основе подготовленных данных и отдает результат
    4. Данные скачиваются с данного сайта, препроцессятся с помощью утилиты и складываются в SQLite на собственном сервере
    5. После этого с помощью программ из того же репозитория создается микросервис, который интерполирует высоты, используя полученные после препроцессинга данные

    Геокодирование

    Геокодирование используется для повышения удобства использования сервиса.

    Прямое геокодирование — получение по заданному адресу координат географической точки. Обратное геокодирование, соответственно, решает обратную задачу: получение адреса или названия, расположенного в точке объекта, по указанным координатам.

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

    1. Для прямого геокодирования мы используем API от MapyCZ компании Seznam (в статье выше его не упоминают)
    2. Для задачи обратного геокодирования мы используем Mapbox в рамках того же бесплатного лимита, что и для построения маршрутов

    Для сервиса возможности обратного геокодирования полезны в двух сценариях:

    1. Автогенерация названия маршрута по стартовой точке
    2. Индексация построенных пользователями маршрутов для дальнейшего формирования каталога. Может быть полезно для реализации функциональности вида «найти все построенные треки пользователей, проходящие через село X». При этом относительно дешево решается проблема локализации — API принимает на вход набор необходимых языков

    Импорт и экспорт треков

    Загрузку и скачивание пользовательских треков мы поддерживаем в виде GPX и KML-файлов. Эти файлы можно использовать в мобильных приложениях и портативных навигаторах. Кроме этого, можно расшарить свой трек через публичную ссылку

    Отрисовка маршрутов на карте

    На данный момент отрисовка полностью основана на использовании библиотеки Leaflet. Из коробки поддерживается отображение слоёв карт в формате Tiled web map, отображение геометрических объектов, линий и маркеров.

    Из возникших и еще не решенных проблем — Leaflet не справляется с одновременной отрисовкой большого числа маркеров (> 100 шт.). Пока обходим это через динамическое отображение в зависимости от масштаба, но такой подход уместен не во всех случаях.

    Заключение

    Сейчас мы с командой активно развиваем ActiveTrip.me и регулярно выпускаем обновления. Буду благодарен, если найдете время для тестирования и дадите обратную связь.

    Также у проекта есть активное русскоязычное сообщество в Telegram. А новости о проекте мы публикуем в Telegram и VK.

    Планирование маршрутов

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

    Вы задаете инструменту остановки, которые требуется посетить, и число транспортных средств, которые будут выполнять заезды на эти остановки. Инструмент назначает остановки транспортным средствам и возвращает маршруты, отображающие, как каждое из этих транспортных средств сможет добраться до назначенных ему остановок. Назначение остановок и маршруты движения по дорогам рассчитываются таким образом, чтобы обеспечивалось минимальное общее время в пути.

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

    Примечание:

    Если во вьюере карт вы не видите инструмент Планировать маршруты, свяжитесь с администратором портала. Ваш портал может быть не настроен на построение маршрутов, или у вас может не быть прав на запуск инструмента.

    Планировать маршруты в сравнении с построением маршрутов для одного транспортного средства

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

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

    Преимущества использования инструмента Планировать маршруты

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

    Пример: Строительные инспекторы

    Группе строительных инспекторов, состоящей из 4 человек, требуется посетить 30 строительных площадок. Менеджер группы использует инструмент Планировать маршруты, чтобы определить, как лучше распределить строительные объекты между инспекторами, чтобы большая часть проверок была проведена в течение 8 часов, то есть в течение рабочего дня.

    Создание слоя для начальных местоположений

    Рабочий день инспекторов начинается с поездки от дома на автомобиле. Они едут сразу на различные строительные объекты для выполнения проверок и заканчивают рабочий день в центральном офисе написанием отчетов.

    Приступая к работе с инструментом Планировать маршруты в самый первый раз, менеджер создает таблицу с именами инспекторов и их домашними адресами. Она сохраняет эту таблицу в файле CSV под именем Inspectors. Она входит на портал. Ее учетная запись входит в роль Издателя, и поэтому у нее есть все необходимые права (то есть создания, обновления и удаления; публикации размещенных объектов; пространственного и сетевого анализа). Она открывает вьюер карт и перетаскивает файл Inspectors на карту для того, чтобы геокодировать список адресов, который становится слоем точек.

    Помня о том, что ей предстоит многократно обращаться к слою Inspectors со стартовыми позициями инспекторов, она сохраняет геокодированный слой адресов в Мои ресурсы , для чего щелкает стрелку справа от слоя и выбирает Сохранить слой .

    Создание слоя для конечных местоположений

    Для добавления центрального офиса на карту она использует другой метод; она щелкает Добавить > Добавить слой примечаний к карте и вручную размещает булавку на карте в том месте, где расположен офис. Она сохраняет этот слой как Central Office, поскольку в инструменте Планировать маршруты он будет использоваться каждый рабочий день, так же, как и слой начальных местоположений (стартовых позиций).

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

    Добавление остановок

    Ежедневно в таблицу добавляются адреса строительных объектов для посещения, и менеджер выполняет одну и ту же процедуру открытия таблицы адресов, сохранения ее в файле CSV и геокодирования адресов посредством перетаскивания файла во вьюер карт.

    Она не сохраняет полученные слои строительных объектов, поскольку они используются только один раз в инструменте Планировать маршруты.

    Запуск инструмента Планировать маршруты

    • Слой Inspectors выбран в качестве стартовых позиций для маршрутов. (Если какой-либо инспектор берет отгул, то перед открытием инструмента Планировать маршруты она применяет фильтр слоя Inspectors, чтобы на время удалить этого инспектора из слоя и, следовательно, исключить его из анализа.)
    • В поле Name слоя Inspectors перечислены имена рабочих, поэтому она выбирает Name для появляющейся опции Поле ID маршрута .
    • Рабочие начинают работу в 9 часов утра, и менеджер выбирает дату в календаре и устанавливает время начала на 9 часов утра.
    • Она снимает отметку Возврат в начало и выбирает слой Central Office в качестве конечной точки.
    • Она проверяет, чтобы Максимальное число транспортных средств для маршрута было установлено на 4, поскольку работать планируют все 4 инспектора.
    • Количество строительных объектов, которые должны посетить инспекторы, изменяется день ото дня. Бывают дни, когда количество объектов больше, чем группа может посетить. В такие дни она может выставить параметр Максимальное число остановок на одно транспортное средство по максимальному числу объектов, которое в состоянии проинспектировать один работник. В другие дни, когда общее число строительных объектов меньше, она использует другой способ. Она смотрит на запись, появляющуюся в инструменте Планировать маршруты ниже параметра Максимальное число остановок на одно транспортное средство , которая показывает число остановок в слое строительных объектов (Jobsites). Она видит, что в слое имеется 30 остановок, и делит это число на количество отправляемых транспортных средств – четыре, чтобы поровну распределить количество остановок, или объектов между работниками. Полученные результат 7,5 она округляет до 8, чтобы ни один объект не остался не охваченным. Однако, она понимает, что некоторые площадки находятся недалеко друг от друга, а другие рассредоточены, поэтому время в пути до разных объектов будет разным. Она увеличивает это число до 12, чтобы более короткие маршруты до не удалённых объектов могли посетить большее число объектов. Более длинные маршруты до удаленных строительных площадок смогут посетить меньшее их число. Позднее, она может решить эту проблему, используя другое значение для максимального числа транспортных средств, чтобы сравнить полученные результаты.
    • Инспекция занимает в среднем 30 минут, это значение она вводит в Время, затраченное на каждой остановке .
    • Для того, чтобы установить лимит рабочего времени инспекторов восемью часами, она ставит отметку в поле Ограничить общее время маршрута на одно транспортное средство . Таким образом ограничивается общее время в пути и время, потраченное на каждом объекте. Если она установит лимит 8 часов, то в конце маршрута по прибытии в центральный офис у работников не останется времени для написания отчетов. Эта работа в офисе занимает около 45 минут, поэтому она уменьшает лимит времени до 7 часов 15 минут.
    • Выходному слою она дает имя Маршруты до объектов, дополненное датой, чтобы получилось уникальное имя слоя.
    • Она щелкает Запустить анализ . После обработки данных инструмент выдает результаты.

    Передача маршрутов работникам

    Инструмент Планировать маршруты выводит информацию о том, как оптимально посетить множество точек множеством транспортных средств; другими словами, этот инструмент выводит так называемый мастер-план, в котором каждому транспортному средству назначается индивидуальный план с указанием точек, которые необходимо посетить, последовательность посещения этих точек, а также по каким дорогам добираться до этих точек. Для выполнения мастер-плана у каждого водителя должна быть целенаправленная информация о том, как он должен выполнять свою часть общего плана.

    Фильтр по имени маршрута

    Для того, чтобы отсечь всю ненужную для определенного инспектора информацию о плане, менеджер применяет фильтр к слоям маршрутов и заданным остановкам (точкам посещения). Для этого она щелкает по стрелке справа от слоя выходных маршрутов, выбирает Фильтр и задает выражение фильтра, которое начинается с Имя маршрута. и заканчивается именем инспектора, как оно выглядит в таблице в выходном слое. Такой же фильтр она применяет к слою заданных остановок. Карта покажет маршрут и остановки, назначенные одному инспектору.

    Создание карт и прокладка маршрутов
    • Она может сохранить карту и отправить ссылку на нее инспектору, который сможет открыть эту карту в веб-браузере своего мобильного устройства.
    • Она может проложить маршрут для водителей, предпочитающих распечатанные маршруты, выбрав выключение опции Маршрут ко всем объектам отобранного слоя остановок. Эта опция доступна только в случае, если инспектору поручено сделать не более 20 остановок.

    Затем она создает фильтр для следующего инспектора и повторяет этот процесс прокладки маршрутов или сохранения карты до тех пор, пока у всех инспекторов не будет необходимых инструкций.

    Просмотр назначенных остановок в таблице

    Когда менеджер работает с несколькими инспекторами, которые хорошо знают местность и которым нужен только список остановок, а не маршруты или карта, она может скачать слой заданных остановок в файле CSV и открыть его в форме таблицы. Пользуясь своей электронной таблицей, она может выполнять фильтрацию, сортировку, распечатки, а также выполнять другие задачи.

    Для скачивания файла CSV она щелкает стрелку справа от слоя заданных остановок и выбирает Показать информацию об элементе , чтобы открыть описание элементов слоя; она щелкает Экспорт > Экспорт в файл CSV , чтобы создать новый элемент для представления данных в файле CSV; в описании элементов файла CSV, который открывается автоматически, она щелкает Открыть > Скачать , чтобы сохранить этот файл локально.

    Неохваченные объекты

    Она копирует информацию о любых строительных объектах, не включенных в список для инспектирования, а также не проинспектированных по другим непредвиденным обстоятельствам (нехватка времени), и вставляет ее в список остановок, чтобы использовать его при последующем запуске инструмента Планировать маршруты на следующий рабочий день.

    Начальные и конечные точки маршрутов

    Начальные и конечные точки маршрутов, или транспортных средств так же важны, как и заданные места остановок. Имея информацию обо всех этих местах, инструмент может распределить остановки по самым ближайшим к ним транспортным средствам, чтобы сократить общее время в пути для всех транспортных средств. В некоторых случаях инструмент Планировать маршруты присваивает выходным маршрутам имена, исходя из того, где они начинаются и где заканчиваются.

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

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

    Параметры начальных и конечных точек маршрутов

    Стартовый слой

    Стартовый слой – этот параметр требуется всегда, но при установке значений для других перечисленных здесь параметров важно знать, задаете вы одну или несколько начальных точек. Вы можете задать слой с одной или более точек, но вы также можете задать ровно одну точку с помощью инструмента интерактивного редактирования.

    Поле ID стартового слоя

    Поле ID стартового слоя – этот параметр появляется и применяется только когда задано более одного начального местоположения. Это может быть номер маршрута, имя водителя или какое-либо другое уникальное имя.

    Возврат в начало

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

    Конечный слой

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

    Поле ID конечного слоя

    Поле ID конечного слоя – необходим, когда опция Возврат в начало отключена, а в качестве конечного местоположения указан слой с более чем одной точкой. Полем ID может быть номер маршрута, имя водителя или какое-либо другое уникальное имя.

    Одна начальная точка и возврат в начало

    Самая распространенная проблема – когда все маршруты начинаются и заканчиваются в одном и том же местоположении. Благотворительная организация, стремящаяся эффективно доставлять помощь нуждающимся в ней людям, паркует свои фургоны у одного склада. По дням, когда производится доставка, добровольцы загружают фургоны, которые затем разъезжаются по различным точкам для доставки отправлений. Когда доставка завершена, фургоны возвращаются на склад.

    • Стартовый слой – должен иметь только одну точку, которую можно указать интерактивно на карте или выбрав слой с одной точкой.
    • Возврат в начало – отмечено.

    Входные данные для одного начального местоположения и возврата в началоВыходные данные для одного начального местоположения и возврата в начало

    Выходные маршруты начинаются и заканчиваются в одном, одном и том же местоположении.

    Одна начальная точка и одна конечная точка

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

    Начальное и конечное местоположения задаются следующим образом:

    • Стартовый слой – должен иметь только одну точку (например – депо, где паркуются фургоны), которую можно указать интерактивно на карте или выбрав слой с одной точкой.
    • Возврат в начало – не отмечено.
    • Конечный слой – должен иметь только одну точку (например – место высадки пассажиров), которую можно указать интерактивно на карте или выбрав слой с одной точкой.

    Входные данные для схемы одно начальное местоположение – одно конечное местоположениеВыходные данные для одного начального и конечного местоположений

    Выходные маршруты начинаются в одном месте, а заканчиваются в другом.

    Поскольку все водители начинают и заканчивают свой путь в одних и тех же местах, предполагается, что любой водитель может ехать по любому маршруту, поэтому выходным маршрутам даются такие имена, как Маршрут 1 и Маршрут 2.

    Множество начальных точек и возврат в начало

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

    Начальное и конечное местоположения задаются следующим образом:

    • Стартовый слой – в этом слое несколько точек: по одной для каждого начального местоположения (например, точка, представляющая дом инспектора). Обратите внимание на то, что в этой схеме у каждого маршрута всегда своя собственная начальная точка. Если какой-то поднабор маршрутов начинается в одном и том же месте, располагайте начальные точки этих маршрутов рядом или поверх друг друга, чтобы у каждого маршрута было свое собственное соответствующее отправное (начальное) местоположение.
    • Поле ID стартового слоя – Выберите поле ID для этого параметра. Стартовый слой должен иметь поле, однозначно идентифицирующее маршруты или водителей. Это может быть номер маршрута, имя водителя или какое-либо другое уникальное имя.
    • Возврат в начало – отмечено.

    Входные данные для схемы множество начальных местоположений и возврат в началоВыходные данные для нескольких начальных местоположений и возврата в начало

    Выходные маршруты отправляются из множества местоположений и заканчиваются в местах, откуда они начинались.

    Поскольку места отправления маршрутов и соответствующих водителей уникальны, необходимо указание поля ID стартового слоя. Имена маршрутов генерируются автоматически в соответствии со значениями в поле ID, поэтому соответствующие водители получают именно для них предназначенные маршруты.

    Множество отправных точек и одна конечная точка

    Для схемы такого типа каждый из маршрутов начинается из уникальной точки, заезжает на заданную остановку и соединяется с другими маршрутами в одном конечном местоположении. Например, водители школьных автобусов в сельской местности оставляют свои автобусы на ночь вблизи своих домов. Утром они выезжают из дома, подбирают учеников и высаживают их у школы.

    • Стартовый слой – в этом слое несколько точек: по одной для каждого начального местоположения (например, по одной точке для каждого из домов водителей). Обратите внимание на то, что в этой схеме у каждого маршрута всегда своя собственная начальная точка. Если какой-то поднабор маршрутов начинается в одном и том же месте, располагайте начальные точки этих маршрутов рядом или поверх друг друга, чтобы у каждого маршрута было свое собственное соответствующее отправное (начальное) местоположение.
    • Поле ID стартового слоя – Выберите поле ID для этого параметра. Стартовый слой должен иметь поле, однозначно идентифицирующее маршруты или водителей. Это может быть номер маршрута, имя водителя или какое-либо другое уникальное имя.
    • Возврат в начало – не отмечено.
    • Конечный слой – содержит одну точку, представляющую конечное местоположение (например – школа).

    Входные данные для схемы множество начальных местоположений – одно конечное местоположениеВыходные данные для нескольких начальных местоположений и одного конечного

    Выходные маршруты отправляются из множества местоположений и заканчиваются в одном местоположении.

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

    Одна отправная точка – множество конечных точек

    В схеме один к множеству (one-to-many) все маршруты начинаются в одной точке, делают заданные остановки и заканчиваются в уникальных местоположениях. Предприятие ЖКХ навешивает на дверях должников таблички, предупреждающие об отключении коммунальных услуг; за эту работу, которую выполняют работники этого предприятия по дороге с работы домой, предлагается дополнительная плата. Согласившиеся на эту работу работники забирают таблички в центральном офисе, едут с ними до разных остановок (где живут должники), чтобы навесить там таблички, и заканчивают свои маршруты у себя дома.

    • Стартовый слой – должен иметь только одну точку (например – центральный офис), которую можно указать интерактивно на карте или выбрав слой с одной точкой.
    • Возврат в начало – не отмечено.
    • Конечный слой – в этом слое несколько точек: по одной для каждого конечного местоположения (например, дома служащих). Обратите внимание на то, что в этой схеме у каждого маршрута всегда своя собственная конечная точка. Если какой-то поднабор маршрутов заканчивается в одном и том же месте, располагайте конечные точки этих маршрутов рядом или поверх друг друга, чтобы у каждого маршрута было свое собственное соответствующее конечное местоположение.
    • Поле ID конечного слоя – Выберите поле ID для этого параметра. Конечный слой должен иметь поле, однозначно идентифицирующее маршруты или водителей. Это может быть номер маршрута, имя водителя или какое-либо другое уникальное имя.

    Входные данные для схемы одно начальное местоположение – множество конечных местоположенийВыходные данные для одного начального местоположения и нескольких конечных

    Выходные маршруты отправляются из одного местоположения и заканчиваются в нескольких местоположениях.

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

    Множество отправных точек – множество конечных точек

    В некоторых случаях при планировании маршрутов у каждого маршрута могут быть уникальные начальные и конечные местоположения.

    • Стартовый слой – в этом слое несколько точек: по одной для каждого начального местоположения. Обратите внимание на то, что в этой схеме у каждого маршрута всегда своя собственная начальная точка. Если какой-то поднабор маршрутов начинается в одном и том же месте, располагайте начальные точки этих маршрутов рядом или поверх друг друга, чтобы у каждого маршрута было свое собственное соответствующее отправное (начальное) местоположение.
    • Поле ID стартового слоя – Выберите поле ID для этого параметра. Стартовый слой должен иметь поле, однозначно идентифицирующее маршруты или водителей. Это может быть номер маршрута, имя водителя или какое-либо другое уникальное имя.
    • Возврат в начало – не отмечено.
    • Конечный слой – в этом слое несколько точек: по одной для каждого конечного местоположения. Обратите внимание на то, что в этой схеме у каждого маршрута всегда своя собственная конечная точка. Если какой-то поднабор маршрутов заканчивается в одном и том же месте, располагайте конечные точки этих маршрутов рядом или поверх друг друга, чтобы у каждого маршрута было свое собственное соответствующее конечное местоположение.
    • Поле ID конечного слоя – Выберите поле ID для этого параметра. Конечный слой должен иметь поле, однозначно идентифицирующее маршруты или водителей. Это может быть номер маршрута, имя водителя или какое-либо другое уникальное имя.

    Входные данные для схемы множество начальных местоположений – множество конечных местоположенийВыходные данные для нескольких начальных и конечных местоположений

    Выходные маршруты начинаются в нескольких местоположениях и заканчиваются в нескольких местоположениях.

    В этом разделе
    1. Планировать маршруты в сравнении с построением маршрутов для одного транспортного средства
    2. Преимущества использования инструмента Планировать маршруты
    3. Пример: Строительные инспекторы
    4. Начальные и конечные точки маршрутов

    unis

    Автомобильные путешествия по Европе и не только

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

    6 июня 2018

    Карта для прокладки маршрутов с множеством точек

    Хочу порекомендовать отличный сервис — онлайн-карта мира с возможностью прокладки маршрутов с большим количеством точек. Очень полезно, когда есть много POI или локаций, которые хочется посетить, и надо построить между ними оптимальный маршрут. Сервис просто идеален для этого, в отличие от родных возможностей Google Maps.

    Да, на гугловских картах можно тоже прокладывать маршруты. Но у Гугл Мапс есть один огромный недостаток — маршрут можно строить максимум между двадцатью точками. А если вы в путешествии планируете посетить больше 20 мест, то приходится строить маршрут частями, или искать альтернативу.

    БЛОГ ПЕРЕЕЗЖАЕТ НА ДРУГУЮ ПЛОЩАДКУ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *