Маршрутизация крупногабаритных транспортных средств — это набор свойств, позволяющих оптимизировать маршруты автопарка для больших автомобилей, указывая физические размеры, вес и количество прицепов. API использует эти атрибуты для расчета возможных маршрутов, позволяющих избежать дорог с ограничениями, низких мостов или маршрутов с ограничениями по весу.
Использование маршрутизации для крупногабаритных транспортных средств позволяет решать логистические задачи для тяжелых и больших автомобилей, например:
- Избегайте опасностей на дороге: составьте план маршрута, который позволит избежать проезда транспортных средств с низким дорожным просветом, дорог с ограничениями по весу и других физических препятствий.
- Укажите подробную информацию о транспортном средстве: включите точные габариты, общий вес, количество осей и конфигурацию прицепа в планы маршрутов для всего автопарка.
- Улучшите планирование маршрутов в масштабах всего автопарка: создавайте эффективные маршруты для всего вашего автопарка, обеспечивая при этом соответствие всех заданий физическим ограничениям дорожной сети.
Ограничения
Прежде чем начать, необходимо ознакомиться со следующими ограничениями и требованиями.
- Географическая доступность : Маршрутизация для крупногабаритных транспортных средств доступна только на территории 48 смежных штатов США .
- Рекомендации для водителей и правила безопасности : Водители не должны полагаться исключительно на маршруты, возвращаемые этим API, как на безопасные или законные. Маршруты не гарантируют соответствия транспортному средству, и следование им может подвергнуть водителей опасностям, таким как низкие мосты или дороги, где запрещено движение крупногабаритных транспортных средств.
- Маршруты, предлагаемые по принципу «наилучших усилий» : В некоторых случаях API не может найти маршрут, полностью соответствующий ограничениям на поездки. Вместо этого он возвращает маршрут, предлагаемый по принципу «наилучших усилий», который все еще может проходить через зоны с ограничениями.
- Неподдерживаемые функции : Маршрутизация крупногабаритных транспортных средств не поддерживает следующие функции:
- цены на проезд по платным дорогам для грузовиков
- Ограничения скорости
- Маршрутизация радиоактивных опасных материалов
- Оплата: Google выставляет единые счета за все запросы
optimizeTours, независимо от того, задаются ли в запросах параметры маршрутизации для крупных транспортных средств. - Маршруты дальнего следования: Маршруты дальнего следования для грузовых автомобилей протяженностью 500 километров и более требуют больше вычислительного времени, чем более короткие маршруты, и могут возвращать данные о маршруте более низкого качества. Для поддержания качества маршрута ограничьте расстояния между грузами, начальными и конечными точками транспортных средств. Если вам требуются маршруты дальнего следования, увеличьте сроки выполнения запросов, чтобы снизить вероятность ошибок
DEADLINE_EXCEEDED.
Характеристики
Для использования параметров маршрутизации крупногабаритных транспортных средств необходимо указать физические габариты транспортного средства и установить режим маршрутизации на «грузовой».
В таблице ниже перечислены основные параметры для настройки маршрутизации крупногабаритных транспортных средств:
| Свойство | Тип | Требование | Описание |
|---|---|---|---|
travelMode | нить | Необходимый | Задает режим движения для транспортного средства. Чтобы включить свойства маршрутизации для крупных транспортных средств, установите это значение на TRUCK . |
routeModifiers | объект | Необходимый | Содержит настройки, специфичные для маршрута, включая vehicleInfo . |
vehicleInfo
Объект vehicleInfo содержит физические характеристики транспортного средства. Определите этот объект в свойстве routeModifiers . Предоставление объекта vehicleInfo необходимо, если вы установили travelMode в TRUCK .
В таблице ниже перечислены свойства, доступные в объекте vehicleInfo :
| Свойство | Тип | Требование | Описание |
|---|---|---|---|
totalHeightMm | целое число | Необходимый | Указывает общую высоту транспортного средства в миллиметрах. Это значение должно быть положительным целым числом. |
totalWidthMm | целое число | Необходимый | Указывает общую ширину транспортного средства в миллиметрах. Это значение должно быть положительным целым числом. |
totalWeightKg | целое число | Необходимый | Указывает общий вес транспортного средства в килограммах. Это значение должно быть положительным целым числом. |
totalLengthMm | целое число | Необходимый | Указывает общую длину транспортного средства в миллиметрах. Это значение должно быть положительным целым числом. |
trailerInfo | множество | Необязательный | Содержит массив технических характеристик прицепов, включая свойство lengthMm для указания длины каждого отдельного прицепа в миллиметрах. |
totalAxleCount | целое число | Необходимый | Указывает общее количество осей на транспортном средстве. Это значение должно быть целым числом, большим или равным 2. |
Примеры
В этом разделе рассматриваются два типа примеров:
- Пример кода , иллюстрирующий структуру маршрутизации крупногабаритных транспортных средств.
- Пример запроса , включающего данную функцию.
Пример кода
В следующем примере показана структура свойств, используемых для маршрутизации крупногабаритных транспортных средств:
"vehicles": [ { "travelMode": "TRUCK", "routeModifiers": { "vehicleInfo": { "totalHeightMm": TOTAL_HEIGHT_MM, "totalWidthMm": TOTAL_WIDTH_MM, "totalWeightKg": TOTAL_WEIGHT_KG, "totalLengthMm": TOTAL_LENGTH_MM, "trailerInfo": [ { "lengthMm": TRAILER_LENGTH_MM } ], "totalAxleCount": TOTAL_AXLE_COUNT } } } ]
Пример запроса
В следующем примере показана структура базового запроса optimizeTours , включающего маршрутизацию для крупногабаритных транспортных средств:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 40.953523, "longitude": -72.2277846 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 40.9546673, "longitude": -72.2580151 } } ] } ], "vehicles": [ { "travelMode": "TRUCK", "routeModifiers": { "vehicleInfo": { "totalHeightMm": 4000, "totalWidthMm": 2500, "totalWeightKg": 9000, "totalLengthMm": 20000, "trailerInfo": [ { "lengthMm": 15000 } ], "totalAxleCount": 5 } }, "costPerKilometer": 1.0 } ] } }