Límites de velocidad

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Roads API muestra el límite de velocidad publicado para un segmento determinado de la ruta. En el caso de los tramos de ruta con límites de velocidad variables, se mostrará el límite de velocidad predeterminado.

No se puede garantizar la exactitud de los datos del límite de velocidad que muestra Roads API. Los datos sobre límites de velocidad proporcionados no son en tiempo real y pueden ser estimados, imprecisos, incompletos o desactualizados. Consulta los detalles de cobertura para conocer las regiones en las que están disponibles los datos sobre los límites de velocidad.

Requests

Una solicitud de límites de velocidad se debe enviar a través de HTTPS y toma la siguiente forma:

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

Uso de parámetros

Parámetros obligatorios

  • Un parámetro path o placeId
    • path: Es una lista de hasta 100 pares de latitud y longitud que representan una ruta. Los valores de latitud y longitud deben estar separados por comas. Los pares de latitud/longitud deben estar separados por el carácter de barra vertical “|”. Cuando proporcionas el parámetro path, la API primero ajusta la ruta de acceso a la ruta más probable que recorre un vehículo (como lo hace para la solicitud snapToRoads) y, a continuación, determina el límite de velocidad para el segmento de ruta relevante. Si no quieres que la API ajuste la ruta, debes pasar un parámetro placeId como se explica a continuación. En el siguiente ejemplo, se muestra el parámetro path con tres pares de latitud y longitud: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
    • placeId: los ID de lugar que representan uno o más tramos de ruta. Asegúrate de que cada ID de lugar haga referencia a un segmento de ruta y no a un tipo de lugar diferente. Puedes pasar hasta 100 ID de lugar con cada solicitud. La API no realiza ajustes de ruta en los id. de sitio proporcionados. En la respuesta se incluye un límite de velocidad para cada id. de sitio en la solicitud. Puedes enviar una solicitud snapToRoads o nearestRoads para encontrar los ID de lugar relevantes y, luego, proporcionarlos como entrada para la solicitud speedLimits. En el siguiente ejemplo, se muestra el parámetro placeId con dos ID de lugar: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key: la clave de API de tu aplicación. Tu aplicación debe identificarse cada vez que envíe una solicitud a Roads API mediante la inclusión de una clave de API con cada solicitud. Obtén información para obtener una clave.

Parámetros opcionales

  • units: Indica si se deben mostrar los límites de velocidad en kilómetros o millas por hora. Se puede establecer en KPH o MPH. La configuración predeterminada es KPH.

Respuestas

Los siguientes elementos pueden estar presentes en una respuesta de speedLimits:

  • speedLimits: Es un array de metadatos de rutas. Cada elemento consta de los siguientes campos:
    • placeId: Es un identificador único de un lugar. Todos los IDs de lugar que muestra Roads API corresponderán a los tramos de ruta.
    • speedLimit: Es el límite de velocidad para ese segmento de la ruta.
    • units: Muestra KPH o MPH.
  • snappedPoints: Es un array de puntos ajustados. Este arreglo está presente solo si la solicitud contenía un parámetro path. Cada punto consta de los siguientes campos:
    • location: Contiene un valor latitude y un valor de longitude.
    • originalIndex: un número entero que indica el valor correspondiente en la solicitud original. Cada valor en la solicitud debe asignarse a un valor ajustado en la respuesta. Estos valores se indexan desde 0, por lo que un punto con originalIndex de 4 será el valor ajustado de la quinta latitud/longitud que se pasa al parámetro path.
    • placeId: Es un identificador único de un lugar. Todos los IDs de lugar que muestra Roads API corresponderán a los tramos de ruta. Se puede pasar el placeId en una solicitud de límites de velocidad para determinar el límite de velocidad a lo largo de ese segmento de ruta.
  • warning_message: Es una string que contiene una advertencia visible para el usuario.

Solicitud de ejemplo con una ruta

Esta solicitud obtiene el límite de velocidad para cada tramo de la ruta más cercano a los pares de latitud y longitud especificados en una ruta que cruza el puente Vasco da Gama en Lisboa, Portugal.

Solicitud

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

Respuesta

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

Observa el mensaje de advertencia sobre la dispersión de puntos en la respuesta anterior. Si solicitas límites de velocidad para los segmentos de ruta más cercanos en puntos arbitrarios, debes llamar a speedLimits con los IDs de lugar recuperados del extremo nearestRoads en su lugar.

Ejemplo de solicitud con ID de lugar

En lugar de usar pares de latitud y longitud, puedes pasar los ID de lugar de los tramos de ruta. Te recomendamos que obtengas los IDs de lugar para segmentos de ruta mediante solicitudes snapToRoads o nearestRoads. Cuando pasas IDs de lugar, la API muestra el límite de velocidad para el segmento de ruta representado por cada ID de lugar. La API no aplica ningún ajuste de ruta a los ID de lugar proporcionados.

En el siguiente ejemplo, se solicitan los límites de velocidad para algunos de los tramos de ruta que cruzan el puente Vasco da Gama en Lisboa, Portugal.

Solicitud

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

Respuesta

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

Recomendaciones de uso

Para minimizar el volumen de llamadas al servicio de límite de velocidad, te recomendamos muestrear las ubicaciones de tus recursos en intervalos de 5 a 15 minutos (el valor exacto depende de la velocidad a la que se desplaza un recurso). Si un recurso es fijo, basta con tomar una sola muestra de la ubicación (no es necesario realizar varias llamadas).

Para minimizar la latencia general, recomendamos llamar al servicio Speed Limit una vez que hayas acumulado algunos datos, en lugar de llamar a la API cada vez que se reciba la ubicación de un recurso móvil.

¿Por qué faltan algunos o todos los límites de velocidad?

La causa más común de la falta de speedLimits es solicitar el límite de velocidad de un lugar que no es un segmento de ruta.

En el ejemplo anterior, se usa el puente Vasco da Gama para ilustrar los conceptos. El puente admite la ruta E90 que cruza el río Tejo. El puente en sí tiene un ID de lugar de ChIJUzt97ZEwGQ0RM1JzQfqoDtU. El primer segmento de ruta en la respuesta anterior es parte de la ruta E90 y tiene un ID de lugar de ChIJX12duJAwGQ0Ra0d4Oi4jOGE. En la solicitud de ejemplo, si reemplazas el ID de lugar de la ruta por el ID del lugar del puente, entonces en la respuesta solo habrá dos límites de velocidad en el arreglo speedLimits porque el ID de lugar del puente no hace referencia a un segmento de ruta individual. Además, si ninguno de los IDs de lugar es para segmentos de ruta, la respuesta no contendrá ningún límite de velocidad.

Cuando realices solicitudes de límite de velocidad mediante ID de lugar, asegúrate de que cada ID de lugar haga referencia a un segmento de ruta y no a un tipo de lugar diferente. Los IDs de lugar para segmentos de ruta individuales se recuperan mejor mediante solicitudes snapToRoads o nearestRoads, que pueden mostrar varios IDs de lugar desde una sola llamada.