Ограничение скорости

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Roads API возвращает опубликованное ограничение скорости для данного сегмента дороги. В случае сегментов дороги с переменными ограничениями скорости возвращается ограничение скорости по умолчанию для сегмента.

Точность данных об ограничении скорости, возвращаемых Roads API , не может быть гарантирована. Предоставляемые данные об ограничении скорости не обновляются в режиме реального времени и могут быть оценочными, неточными, неполными и/или устаревшими. См. сведения о покрытии , чтобы увидеть регионы, в которых доступны данные об ограничении скорости.

Запросы

Запрос на ограничение скорости должен быть отправлен через HTTPS и имеет следующую форму:

https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY

Использование параметра

Обязательные параметры

  • Либо path , либо параметр placeId .
    • path — список до 100 пар широта/долгота, представляющих путь. Значения широты и долготы должны быть разделены запятыми. Пары широта/долгота должны быть разделены вертикальной чертой: "|". Когда вы указываете параметр path , API сначала фиксирует путь к наиболее вероятной дороге, по которой движется транспортное средство (как это делается для запроса snapToRoads ), а затем определяет ограничение скорости для соответствующего сегмента дороги. Если вы не хотите, чтобы API привязывал путь, вы должны передать параметр placeId , как описано ниже. В следующем примере показан параметр path с тремя парами широта/долгота: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796 .
    • placeId — идентификаторы мест, представляющие один или несколько сегментов дороги. Убедитесь, что идентификатор каждого места относится к сегменту дороги, а не к месту другого типа. Вы можете передать до 100 идентификаторов мест с каждым запросом. API не выполняет привязку к дорогам для предоставленных идентификаторов мест. Ответ включает ограничение скорости для каждого идентификатора места в запросе. Вы можете отправить snapToRoads или nearestRoads , чтобы найти соответствующие идентификаторы мест, а затем предоставить их в качестве входных данных для запроса speedLimits . В следующем примере показан параметр placeId с двумя идентификаторами мест: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key — API-ключ вашего приложения. Ваше приложение должно идентифицировать себя каждый раз, когда оно отправляет запрос к Roads API , включая ключ API в каждый запрос. Узнайте, как получить ключ .

Дополнительные параметры

  • units — возвращать ли ограничения скорости в километрах или милях в час. Это может быть установлено либо в KPH , либо в MPH . По умолчанию KPH .

Ответы

В ответе speedLimits могут присутствовать следующие элементы:

  • speedLimits — Массив метаданных дороги. Каждый элемент состоит из следующих полей:
    • placeId — уникальный идентификатор места. Все идентификаторы мест, возвращаемые Roads API , будут соответствовать сегментам дорог.
    • speedLimit — ограничение скорости для данного сегмента дороги.
    • units — Возвращает KPH или MPH .
  • snappedPoints — массив точек привязки. Этот массив присутствует только в том случае, если запрос содержит параметр path . Каждая точка состоит из следующих полей:
    • location — содержит значение latitude и longitude .
    • originalIndex — Целое число, указывающее соответствующее значение в исходном запросе. Каждое значение в запросе должно сопоставляться с привязанным значением в ответе. Эти значения индексируются от 0 , поэтому точка с originalIndex 4 будет привязанным значением 5-й широты/долготы, переданной в параметр path .
    • placeId — уникальный идентификатор места. Все идентификаторы мест, возвращаемые Roads API , будут соответствовать сегментам дорог. placeId может быть передан в запросе ограничения скорости, чтобы определить ограничение скорости на этом участке дороги.
  • warning_message — Строка, содержащая видимое пользователю предупреждение.

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

Этот запрос получает ограничение скорости для каждого сегмента дороги, ближайшего к указанным парам широта/долгота на пути, пересекающем мост Васко да Гама в Лиссабоне, Португалия.

Запрос

https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY

Ответ

{
  speedLimits:
  [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ],
  snappedPoints:
  [
    {
      location:
      {
        latitude: 38.75807927603043,
        longitude: -9.037417546438084
      },
      originalIndex: 0,
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE"
    },
    {
      location:
      {
        latitude: 38.689653701836896,
        longitude: -9.177051486847693
      },
      originalIndex: 1,
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU"
    },
    {
      location:
      {
        latitude: 41.13993011767777,
        longitude: -8.609400794783655
      },
      originalIndex: 2,
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M"
    }
  ],
  warningMessage: "Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation."
}

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

Пример запроса с использованием идентификаторов мест

Вместо использования пар широта/долгота вы можете передавать идентификаторы мест сегментов дороги. Мы рекомендуем получать идентификаторы мест для сегментов дорог с помощью запросов snapToRoads или nearestRoads . Когда вы передаете идентификаторы мест, API возвращает ограничение скорости для сегмента дороги, представленного каждым идентификатором места. API не применяет привязку дорог к предоставленным идентификаторам мест.

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

Запрос

https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY

Ответ

{
  "speedLimits": [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ]
}

Рекомендации по использованию

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

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

Почему некоторые/все ограничения скорости отсутствуют?

Наиболее распространенной причиной отсутствия speedLimits является запрос ограничения скорости в месте, которое не является сегментом дороги.

В приведенном выше примере для иллюстрации концепций используется мост Васко да Гамы; мост поддерживает дорогу E90, пересекающую Рио-Тежу. Сам мост имеет идентификатор места ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Первый участок дороги в приведенном выше ответе является частью дороги E90 и имеет идентификатор места ChIJX12duJAwGQ0Ra0d4Oi4jOGE. В примере запроса, если вы замените идентификатор места дороги идентификатором места моста, то в ответе будет только два ограничения скорости в массиве speedLimits , потому что идентификатор места моста не относится к отдельному сегменту дороги. Кроме того, если ни один из идентификаторов мест не относится к участкам дороги, ответ не будет содержать никаких ограничений скорости.

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