Roads API affiche la limitation de vitesse affichée pour un tronçon de route donné. Pour les sections de route dont les limitations de vitesse sont 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 informations sur la couverture pour connaître les régions dans lesquelles les données sur les limites de vitesse sont disponibles.
Requests
Une requête de limites de vitesse doit être envoyée via HTTPS et prend la forme suivante :
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
Utilisation des paramètres
Paramètres obligatoires
- Paramètre
path
ouplaceId
.path
: liste de maximum 100 paires latitude/longitude représentant un tracé. Les valeurs de latitude et de longitude doivent être séparées par des virgules. Les paires latitude/longitude doivent être séparées par une barre verticale "|". Lorsque vous fournissez le paramètrepath
, l'API associe d'abord le tracé à la route la plus probable empruntée par un véhicule (comme c'est le cas pour la requêtesnapToRoads
), puis détermine la limite de vitesse pour la section de route correspondante. Si vous ne souhaitez pas que l'API ancre le chemin d'accès, vous devez transmettre un paramètreplaceId
, comme expliqué ci-dessous. L'exemple suivant montre le paramètrepath
avec trois paires 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 ID 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 de route sur les ID de lieu fournis. La réponse inclut une limite de vitesse pour chaque ID de lieu de la requête. Vous pouvez envoyer une requêtesnapToRoads
ounearestRoads
pour trouver les ID de lieu pertinents, puis les fournir en tant qu'entrées dans la requêtespeedLimits
. L'exemple suivant montre le paramètreplaceId
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 au Roads API en incluant une clé API dans chaque requête. Découvrez comment obtenir une clé.
Paramètres facultatifs
units
: indique si les limites de vitesse doivent être exprimées en kilomètres ou en miles par heure. Il peut être défini surKPH
ouMPH
. La valeur par défaut estKPH
.
Réponses
Les éléments suivants peuvent être présents dans une réponse speedLimits
:
speedLimits
: tableau des 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
: renvoieKPH
ouMPH
.
snappedPoints
: tableau de points ancrés. Ce tableau n'est présent que si la requête contenait un paramètrepath
. Chaque point comprend les champs suivants :location
: contient les valeurslatitude
etlongitude
.originalIndex
: entier indiquant la valeur correspondante dans la requête d'origine. Chaque valeur de la requête doit correspondre à une valeur intégrée dans la réponse. Ces valeurs sont indexées à partir de0
. Par conséquent, un point dont la valeuroriginalIndex
est4
correspond à la valeur ancrée de la cinquième latitude/longitude transmise au paramètrepath
.placeId
: identifiant unique d'un lieu. Tous les ID de lieu renvoyés par Roads API correspondent à des sections de route. Le champplaceId
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 limite de vitesse pour chaque section de route la plus proche des paires latitude/longitude spécifiées sur un chemin traversant le pont Vasco de 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
Response (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 des 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 les ID de lieu récupérés sur le point de terminaison nearestRoads
.
Exemple de requête avec 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 limite 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 des sections de route qui traversent le pont Vasco de Gama à Lisbonne, au Portugal.
Requête
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY
Response (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 à des intervalles de 5 à 15 minutes (la valeur exacte dépend de la vitesse de déplacement de la ressource). Si une ressource est immobile, un seul échantillon d'emplacements suffit (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 limitations de vitesse sont-elles manquantes ?
L'absence de speedLimits
est généralement due à la limitation de vitesse pour un lieu qui n'est pas une section de route.
L'exemple ci-dessus utilise le pont Vasco da Gama pour illustrer les concepts. Le pont prend en charge la route E90 qui traverse le Rio Tejo. Le pont lui-même possède l'ID de lieu ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Le premier segment de route dans la réponse ci-dessus fait partie de la route E90 et porte 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, alors dans la réponse, il n'y aura 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 des identifiants de lieu ne concerne des sections de route, la réponse ne contiendra aucune limitation de vitesse.
Lorsque vous envoyez des requêtes de limitation de vitesse à l'aide d'ID de lieu, assurez-vous que chaque ID 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 des sections de route individuelles à l'aide des requêtes snapToRoads
ou nearestRoads
, qui peuvent renvoyer plusieurs ID de lieu à partir d'un seul appel.