Часто задаваемые вопросы по API изохрон

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

Это ограничение основано на вычислительной сложности расчетов. Транспортное средство проезжает значительно большее расстояние, чем пешеход или велосипедист за то же время, что означает экспоненциальное расширение анализируемой дорожной сети. Время движения автомобиля ограничено максимум 1 часом (3600 секундами), чтобы гарантировать, что API сможет вернуть ответ в быстром синхронном окне реального времени, в то время как ходьба и езда на велосипеде поддерживаются в течение 2 часов (7200 секунд).

Как рассчитать изохрону входящего маршрута "поездка на работу" (путешествие в пункт назначения) и изохрону исходящего маршрута (путешествие из пункта отправления)?

В API версии 1 поддерживаются расчеты как входящего, так и исходящего трафика с использованием параметра travel_direction :

  • FROM (Исходящая): Рассчитывает зону, доступную from исходящей точки в течение указанного временного лимита. Подходит для таких сценариев использования, как зоны доставки или зоны покрытия услуг.

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

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

API изохрон динамически корректирует разрешение сетки пространственных вычислений в зависимости от запрошенных параметров travel_duration и travel_mode :

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

Если вам требуется определенный, постоянный уровень детализации независимо от продолжительности, вы можете установить необязательный параметр polygon_fidelity в значение HIGH , MEDIUM или LOW

Почему при запросе изохроны для координат внутри парка, озера или крупного промышленного комплекса иногда возвращается ошибка "Не найдено"?

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

Для каждого режима передвижения установлен определенный максимальный порог расстояния фиксации:

  • DRIVE : 200 метров (пешеходные дорожки не учитываются).
  • BICYCLE : 180 метров.
  • WALK : 150 метров.

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

Почему при запросе маршрутизации с учетом дорожной ситуации для пешеходов или велосипедистов возникает ошибка?

Информация о дорожной ситуации в реальном времени ( TRAFFIC_AWARE ) поддерживается исключительно для режима движения DRIVE . Если вы попытаетесь запросить изохрону для режима WALK или BICYCLE с routingPreference , установленным на TRAFFIC_AWARE , API вернет ошибку 400 INVALID_ARGUMENT .

При отображении GeoJSON-ответа на карте фигура отображается не в том месте, искажается или вообще не отображается. В чём причина?

Это почти всегда вызвано несоответствием порядка координат.

В соответствии со стандартом GeoJSON (RFC 7946), API изохрон возвращает координаты в порядке [longitude, latitude] . Однако многие SDK для работы с картами и пользовательские геометрические объекты ожидают координаты в порядке [latitude, longitude] .

Если отображение карты некорректно, проверьте, как ваш SDK для работы с картами обрабатывает GeoJSON:

  • API JavaScript Google Maps: Если вы используете слой данных ( map.data.addGeoJson() ), этот порядок обрабатывается автоматически, и никаких действий не требуется.
  • Пользовательские объекты или другие SDK: Если вы вручную преобразуете ответ в объекты LatLng , необходимо пройтись циклом по координатам в полезной нагрузке GeoJSON и преобразовать значения [lng, lat] в пары [lat, lng] перед рендерингом.

Почему внутри моего изохронного многоугольника есть пустые «отверстия», и можно ли вместо них получить сплошную фигуру?

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

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

  • Установите параметр polygon_fidelity в значение MEDIUM или LOW , чтобы побудить алгоритм к обобщению и объединению, преодолевая эти внутренние пробелы.
  • Используйте клиентскую ГИС-библиотеку (например, Turf.js) для анализа GeoJSON и извлечения только первого координатного кольца (внешней оболочки), отбрасывая все последующие внутренние кольца (отверстия).

Следует ли мне включить опцию enable_smoothing для пространственного анализа на стороне бэкэнда?

Нет. Параметр enable_smoothing предназначен исключительно для визуальной эстетики. Он сглаживает острые углы базовой расчетной сетки, чтобы форма на карте выглядела органично.

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