Limites de velocidade

O Roads API retorna o limite de velocidade estabelecido para uma determinada via um segmento de público-alvo. No caso de trechos de via com limites de velocidade variáveis, o padrão o limite de velocidade do trecho é retornado.

A precisão dos dados de limites de velocidade retornados pelo Roads API não podem ser garantidos. Os dados sobre limites de velocidade fornecidos não são em tempo real e podem ser estimado, impreciso, incompleto e/ou desatualizado. Confira os detalhes da cobertura para conferir as regiões onde esses dados estão disponíveis.

Solicitações

Uma solicitação de limites de velocidade precisa ser enviada via HTTPS no seguinte formato:

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

Uso de parâmetros

Parâmetros obrigatórios

  • Um parâmetro path ou placeId.
    • path: uma lista de até 100 pares de latitude/longitude que representam um caminho. Os valores de latitude e longitude precisam ser separados por vírgulas. Os pares de latitude/longitude precisam ser separados pelo caractere de barra vertical: "|". Quando você fornece o parâmetro path, a API primeiro ajusta o caminho ao mais provavelmente percorridas por um veículo (como acontece para o solicitação snapToRoads) e, em seguida, determina o limite de velocidade da no trecho de via relevante. Se não quiser que a API ajuste o caminho, precisa transmitir um parâmetro placeId, conforme explicado abaixo. O exemplo a seguir mostra o parâmetro path com três pares de latitude/longitude: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
    • placeId: os IDs de local que representam um ou mais trechos de via. Verificar se cada ID de lugar se refere a um trecho de via e não a um tipo diferente do lugar. É possível transmitir até 100 IDs de lugar com cada solicitação. A API não realiza o ajuste de vias nos IDs de lugar fornecidos. A resposta inclui um limite de velocidade para cada ID de lugar na solicitação. Você pode enviar uma solicitação snapToRoads ou nearestRoads para encontrar os IDs de lugar relevantes e fornecê-los como entrada para o speedLimits. O exemplo a seguir mostra Parâmetro placeId com dois IDs de lugar: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key: a chave de API do aplicativo. Seu aplicativo deve se identificar toda vez que enviar uma solicitação ao Roads API incluindo uma chave de API em cada solicitação. Saiba como receber uma chave.

Parâmetros opcionais

  • units: se os limites de velocidade devem ser retornados em quilômetros ou milhas por por hora. Pode ser definido como KPH ou MPH. O padrão é KPH.

Respostas

Os seguintes elementos podem estar presentes em uma resposta speedLimits:

  • speedLimits: uma matriz de metadados de vias. Cada elemento consiste no seguintes campos:
    • placeId: identificador exclusivo de um local. Todos os IDs de lugar retornados pelos Roads API vão corresponder a trechos de via.
    • speedLimit: o limite de velocidade para o trecho de via.
    • units: retorna KPH ou MPH.
  • snappedPoints: uma matriz de pontos ajustados. Esta matriz está presente somente se a solicitação contivesse um parâmetro path. Cada ponto consiste em os seguintes campos:
    • location: contém um valor de latitude e longitude.
    • originalIndex: um número inteiro que indica o valor correspondente na solicitação original. Cada valor da solicitação deve ser mapeado para um o valor direcionado na resposta. Esses valores são indexados a partir de 0, então uma o ponto com originalIndex de 4 será o valor alinhado do quinto latitude/longitude passadas para o parâmetro path.
    • placeId: identificador exclusivo de um local. Todos os IDs de lugar retornados por Roads API correspondem a trechos de via. O placeId pode ser transmitido em uma solicitação de limites de velocidade para determinar limite de velocidade nesse trecho da via.
  • warning_message: uma string que contém um aviso visível ao usuário.

Exemplo de solicitação usando um caminho

Essa solicitação mostra o limite de velocidade de cada trecho da via mais próximo do pares de latitude/longitude especificados em um caminho que cruza o Vasco da Gama ponte em Lisboa, Portugal.

Solicitação

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

Resposta

{
  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."
}

Observe a mensagem de aviso sobre esparsidade de pontos na resposta acima. Se você estiver solicitando limites de velocidade para os trechos de via mais próximos em pontos arbitrários; você precisa chamar speedLimits com IDs de lugar recuperados da endpoint nearestRoads.

Exemplo de solicitação usando IDs de lugares

Em vez de usar pares de latitude/longitude, é possível transmitir os IDs de lugar das trechos de via. Recomendamos que você obtenha IDs de lugar para trechos de via usando Solicitações snapToRoads ou nearestRoads. Quando você passa IDs de lugar, a API retorna o limite de velocidade para o trecho da via representado por cada ID de lugar. O A API não aplica nenhum ajuste de vias aos IDs de lugar fornecidos.

O exemplo a seguir solicita os limites de velocidade para alguns dos trechos de via. que cruzam a ponte Vasco da Gama, em Lisboa, Portugal.

Solicitação

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

Resposta

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

Recomendações de uso

Para minimizar o volume de chamadas ao serviço de limite de velocidade, recomendamos amostragem dos locais dos recursos em intervalos de 5 a 15 minutos (o exato depende da velocidade em que o material está viajando). Se um recurso for estacionária, uma única amostra de local é suficiente (não é necessário fazer várias chamadas).

Para minimizar a latência geral, recomendamos chamar o serviço de limite de velocidade depois de acumular alguns dados, em vez de chamar a API sempre que a localização de um recurso para dispositivo móvel for recebida.

Por que alguns ou todos os limites de velocidade estão faltando?

A causa mais comum da ausência de speedLimits é a solicitação do limite de velocidade de um lugar que não é um trecho de via.

O exemplo acima usa a ponte Vasco da Gama para ilustrar conceitos. ela suporta a estrada E90 que cruza o Rio Tejo. A ponte tem o ID de local ChIJUzt97ZEwGQ0RM1JzQfqoDtU. O primeiro trecho da via na resposta acima faz parte da estrada E90 e tem o ID de local de ChIJX12duJAwGQ0Ra0d4Oi4jOGE. No exemplo de solicitação, se você substituir a estrada com o ID de lugar da ponte, então, na resposta, só haverá Dois limites de velocidade na matriz speedLimits porque o ID de lugar da ponte não se refere a um trecho de estrada individual. Além disso, se nenhuma das IDs de lugar são para trechos de via, então a resposta não conterá nenhum limites de velocidade.

Ao fazer solicitações de limite de velocidade usando IDs de lugar, verifique se cada ID refere-se a um trecho de via, e não a um tipo diferente de lugar. IDs de lugar para para recuperar trechos de via individuais, use snapToRoads ou nearestRoads, que podem retornar vários IDs de lugar das uma única chamada.