Limitations de vitesse

Le champ Roads API renvoie les limitations de vitesse indiquées pour une section de route donnée. Dans le cas de sections de route présentant des limitations de vitesse variables, la limitation de vitesse par défaut est renvoyée.

L'exactitude des données de limitation de vitesse renvoyées par Roads API ne peut pas être garantie. Les données de limitation de vitesse fournies ne sont pas fournies en temps réel et peuvent être estimées, inexactes, incomplètes et/ou obsolètes. Consultez les détails de la couverture pour savoir dans quelles régions des données de limitation de vitesse sont disponibles.

Requêtes

Une requête de limites de vitesse doit être envoyée via HTTPS et se présente sous la forme suivante :

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

Utilisation des paramètres

Paramètres obligatoires

  • Paramètre path ou placeId.
    • path : liste comportant jusqu'à 100 paires de latitude/longitude représentant un trajet. Les valeurs de latitude et de longitude doivent être séparées par une virgule. Les paires latitude/longitude doivent être séparées par une barre verticale: "|". Lorsque vous fournissez le paramètre path, l'API ancre d'abord le chemin sur la route la plus probable empruntée par un véhicule (comme c'est le cas pour la requête snapToRoads), puis détermine la limitation de vitesse pour la section de route concernée. Si vous ne souhaitez pas que l'API ancre le chemin, vous devez transmettre un paramètre placeId comme expliqué ci-dessous. L'exemple suivant montre le paramètre path avec trois paires de latitude/longitude : path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
    • placeId : ID de lieu représentant une ou plusieurs sections de route. Assurez-vous que chaque identifiant de lieu fait référence à une section de route et non à un type de lieu différent. Vous pouvez transmettre jusqu'à 100 ID de lieu avec chaque requête. L'API n'effectue pas d'ancrage des routes sur les ID de lieu fournis. La réponse inclut une limitation de vitesse pour chaque identifiant de lieu de la requête. Vous pouvez envoyer une requête snapToRoads ou nearestRoads pour rechercher les ID de lieu pertinents, puis les fournir en tant qu'entrées à la requête speedLimits. L'exemple suivant montre le paramètre placeId avec deux ID de lieu : placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key : clé API de votre application. Votre application doit s'identifier chaque fois qu'elle envoie une requête à Roads API en incluant une clé API avec chaque requête. Découvrez comment obtenir une clé.

Paramètres facultatifs

  • units : indique si la limitation de vitesse doit être renvoyée en kilomètres ou en miles par heure. Cette valeur peut être définie sur KPH ou MPH. La valeur par défaut est KPH.

Réponses

Une réponse speedLimits peut contenir les éléments suivants:

  • speedLimits : tableau de métadonnées d'une route. Chaque élément comprend les champs suivants :
    • placeId : identifiant unique d'un lieu. Tous les ID de lieu renvoyés par Roads API correspondent à des sections de route.
    • speedLimit : limitation de vitesse pour cette section de route.
    • units : renvoie KPH ou MPH.
  • snappedPoints : tableau de points ancrés. Ce tableau n'est présent que si la requête contenait un paramètre path. Chaque point comprend les champs suivants :
    • location : contient une valeur latitude et longitude.
    • originalIndex : entier indiquant la valeur correspondante dans la requête d'origine. Chaque valeur de la requête doit correspondre à une valeur capturée dans la réponse. Ces valeurs sont indexées à partir de 0. Par conséquent, un point dont l'originalIndex est 4 correspondra à la valeur ancrée de la 5e latitude/longitude transmise au paramètre path.
    • placeId : identifiant unique d'un lieu. Tous les ID de lieu renvoyés par Roads API correspondent à des sections de route. Le placeId peut être transmis dans une requête de limitation de vitesse afin de déterminer la limitation de vitesse sur cette section de route.
  • warning_message : chaîne contenant un avertissement visible par l'utilisateur.

Exemple de requête utilisant un chemin d'accès

Cette requête obtient la limitation de vitesse pour chaque section de route la plus proche des paires latitude/longitude spécifiées sur un chemin traversant le pont Vasco da Gama à Lisbonne, au Portugal.

Requête

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

Réponse

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

Notez le message d'avertissement concernant la parcimonie de points dans la réponse ci-dessus. Si vous demandez des limites de vitesse pour les sections de route les plus proches à des points arbitraires, vous devez appeler speedLimits avec des ID de lieu récupérés à partir du point de terminaison nearestRoads.

Exemple de requête utilisant des ID de lieu

Au lieu d'utiliser des paires latitude/longitude, vous pouvez transmettre les ID de lieu des sections de route. Nous vous recommandons d'obtenir des ID de lieu pour les sections de route à l'aide des requêtes snapToRoads ou nearestRoads. Lorsque vous transmettez des ID de lieu, l'API renvoie la limitation de vitesse pour la section de route représentée par chaque ID de lieu. L'API n'applique pas d'ancrage de route aux ID de lieu fournis.

L'exemple suivant demande les limites de vitesse pour certaines sections de route qui traversent le pont Vasco da Gama à Lisbonne, au Portugal.

Requête

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

Réponse

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

Recommandations d'utilisation

Pour réduire le volume d'appels au service Speed Limit, nous vous recommandons d'échantillonner les emplacements de vos ressources toutes les 5 à 15 minutes (la valeur exacte dépend de la vitesse de déplacement de l'élément). Si une ressource est fixe, un seul échantillon d'emplacements est suffisant (il n'est pas nécessaire d'effectuer plusieurs appels).

Pour minimiser la latence globale, nous vous recommandons d'appeler le service Speed Limit une fois que vous avez collecté des données au lieu d'appeler l'API chaque fois que vous recevez l'emplacement d'une ressource en mouvement.

Pourquoi certaines ou toutes les limites de vitesse n'apparaissent-elles pas ?

La cause la plus courante de l'absence de speedLimits est de demander la limitation de vitesse d'un lieu qui ne correspond pas à une section de route.

L'exemple ci-dessus utilise le pont Vasco da Gama pour illustrer des concepts. Le pont soutient la route E90 qui traverse le Rio Tejo. Le pont lui-même porte l'ID de lieu ChIJUzt97ZEwGQ0RM1JzQfqoDtU. La première section de route dans la réponse ci-dessus fait partie de la route E90 et possède l'ID de lieu ChIJX12duJAwGQ0Ra0d4Oi4jOGE. Dans l'exemple de requête, si vous remplacez l'ID de lieu par l'ID de lieu du pont, la réponse ne contiendra que deux limitations de vitesse dans le tableau speedLimits, car l'ID de lieu du pont ne fait pas référence à une section de route individuelle. De plus, si aucun ID de lieu ne correspond à des sections de route, la réponse ne contiendra aucune limitation de vitesse.

Lorsque vous envoyez des demandes de limitation de vitesse à l'aide d'ID de lieu, assurez-vous que chaque ID de lieu fait référence à une section de route et non à un type de lieu différent. Il est préférable de récupérer les ID de lieu pour des sections de route individuelles à l'aide de requêtes snapToRoads ou nearestRoads, qui peuvent toutes deux renvoyer plusieurs ID de lieu à partir d'un seul appel.