Roads API renvoie la limitation de vitesse pour des segments de route donnés. Dans le cas de segments de route avec des limitations de vitesse variables, la limitation de vitesse maximale pour les automobiles sur ce segment 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 en temps réel et peuvent être estimées, inexactes, incomplètes ou obsolètes. Consultez les informations sur la couverture pour connaître les régions où les données sur les limitations de vitesse sont disponibles.
Requêtes
Envoyez des requêtes de limitation de vitesse via HTTPS, au format suivant :
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEYUtilisation des paramètres
Paramètres obligatoires
Un paramètre
pathouplaceId.path: liste de paires latitude/longitude (jusqu'à 100) représentant un chemin d'accès. Les valeurs de latitude et de longitude doivent être séparées par une virgule. Les paires de latitude/longitude doivent être séparées par une barre verticale : "|". Lorsque vous fournissez le paramètrepath, l'API aligne d'abord le chemin sur la route la plus susceptible d'être empruntée par un véhicule (comme elle le fait pour la requêtesnapToRoads), puis détermine la limitation de vitesse pour le segment de route concerné. Si vous ne souhaitez pas que l'API aligne le tracé, vous devez transmettre un paramètreplaceId, comme expliqué ci-dessous. L'exemple suivant montre le paramètrepathavec trois paires de latitude/longitude :path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.placeId: ID de lieu représentant un ou plusieurs segments de route. Assurez-vous que chaque ID de lieu fait référence à un segment de route et non à un autre type de lieu. Vous pouvez transmettre jusqu'à 100 ID de lieu par requête. La réponse inclut une limitation de vitesse pour chaque ID de lieu de la requête.L'API n'effectue pas d'alignement sur route pour les ID de lieu fournis. Vous pouvez envoyer une requête
snapToRoadsounearestRoadspour trouver les ID de lieu pertinents, puis les fournir en entrée de la requêtespeedLimits. L'exemple suivant montre le paramètreplaceIdavec deux ID de lieu :placeId=ChIJs5ydyTiuEmsR0fRSlU0C7k0&placeId=ChIJW__r4ERXzpQRgkeRL6P0m3Y
key: clé API de votre application. Votre application doit s'identifier chaque fois qu'elle envoie une requête à l'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 renvoyées en kilomètres ou en miles par heure. Cette valeur peut être définie surKPHouMPH. La valeur par défaut estKPH.
Réponses
Les éléments suivants peuvent être présents dans une réponse speedLimits :
speedLimits: tableau de métadonnées de route. Chaque élément se compose des champs suivants :placeId: identifiant unique d'un lieu. Tous les ID de lieu renvoyés par Roads API correspondront à des segments de route.speedLimit: limite de vitesse pour ce segment de route.units: renvoieKPHouMPH.
snappedPoints: tableau de points d'ancrage. Ce tableau n'est présent que si la requête contenait un paramètrepath. Chaque point se compose des champs suivants :location: contient une valeurlatitudeetlongitude.originalIndex: entier qui indique la valeur correspondante dans la requête d'origine. Chaque valeur de la requête doit correspondre à une valeur alignée dans la réponse. Ces valeurs sont indexées à partir de0. Par conséquent, un point avec unoriginalIndexde4correspondra à la valeur de l'alignement 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 correspondront à des segments de route. LeplaceIdpeut être transmis dans une requête de limitation de vitesse pour déterminer la limitation de vitesse sur ce segment 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 segment de route le plus proche des paires de latitude/longitude spécifiées sur un itinéraire traversant le pont Vasco da Gama à Lisbonne, au Portugal.
Demande
https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEYRé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 rareté des points dans la réponse ci-dessus. Si vous demandez des limitations de vitesse pour les segments de route les plus proches à des points arbitraires, vous devez appeler speedLimits avec les 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 de latitude/longitude, vous pouvez transmettre les ID de lieu des segments de route. Nous vous recommandons d'obtenir les ID de lieu des segments de route à l'aide de requêtes snapToRoads ou nearestRoads. Lorsque vous transmettez des ID de lieu, l'API renvoie la limitation de vitesse pour le segment de route représenté par chaque ID de lieu. L'API n'applique aucun ajustement à la route aux ID de lieu fournis.
L'exemple suivant demande les limitations de vitesse pour certains segments de route qui traversent le pont Vasco da Gama à Lisbonne, au Portugal.
Demande
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEYRéponse
{
"speedLimits": [
{
placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
speedLimit: 105,
units: "KPH"
},
{
placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
speedLimit: 70,
units: "KPH"
},
{
placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
speedLimit: 55,
units: "KPH"
}
]
}Recommandations d'utilisation
Afin de réduire le volume des appels au service Speed Limit, nous vous recommandons d'échantillonner l'emplacement 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 limitations de vitesse sont-elles manquantes ?
La cause la plus courante de l'absence de speedLimits est la demande de la limitation de vitesse d'un lieu qui n'est pas un segment de route.
L'exemple ci-dessus utilise le pont Vasco da Gama pour illustrer les concepts. Le pont supporte 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 possède l'ID de lieu ChIJX12duJAwGQ0Ra0d4Oi4jOGE. Dans l'exemple de requête, si vous remplacez l'ID de lieu de la route 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 à un segment de route individuel. De plus, si aucun des ID de lieu ne correspond à un segment de route, la réponse ne contiendra aucune limitation de vitesse.
Lorsque vous effectuez des requêtes de limitation de vitesse à l'aide d'ID de lieu, assurez-vous que chaque ID de lieu fait référence à un segment de route et non à un autre type de lieu. Pour récupérer les ID de lieu de segments de route individuels, il est préférable d'utiliser des requêtes snapToRoads ou nearestRoads, qui peuvent toutes deux renvoyer plusieurs ID de lieu à partir d'un seul appel.
Que faire si un segment de route affiche des limitations de vitesse différentes pour les voitures et les camions ?
Roads API renvoie la vitesse maximale autorisée pour les voitures uniquement.