GetRoute
Description
Le service GetRoute renvoie les indications d'itinéraire pour un ensemble de deux points ou de plusieurs points distincts. Il prend un lieu de départ et un lieu d'arrivée avec des points intermédiaires en option comme entrée et renvoie l'itinéraire le plus rapide ou le plus court.
Format d'URL GET HTTP
Les requêtes GET HTTP se présentent au format suivant : Les requêtes GET HTTP sont utilisées pour les itinéraires simples qui ne requièrent pas de charge utile JSON supplémentaire. Il est également possible d'ajouter des points intermédiaires à la requête GET HTTP.
HTTP GET /rest/Spatial/erm/databases/dbsource.json?q=route&query_parameters
Où dbsource est le nom de la base de données contenant les données à utiliser pour l'itinéraire. Utilisez le nom de base de données indiqué dans l'outil de ressource de base de données de routage du module Enterprise Routing.
Format d'URL POST HTTP
Les requêtes POST HTTP se présentent au format suivant :
HTTP POST: /rest/Spatial/erm/databases/dbsource.json?q=route&query_parameters
POST BODY: Content-Type:application/json {Route Data}
Route Data est le corps json POST (type de contenu : application/json) des indications d'itinéraire supplémentaires à utiliser dans le calcul contenant des points intermédiaires, des mises à jour transitoires ou la priorité des types de route. Pour plus d'informations sur ces options ainsi que des exemples, reportez-vous à la section Options GetRoute POST HTTP.
Paramètres de requête
Cette opération prend les paramètres de requête suivants.
Paramètre | Type | Obligatoire | Description |
---|---|---|---|
startPoint | Chaîne | oui | Lieu de départ de l'itinéraire au format : x,y,coordSys. Par exemple : -74.2,40.8,epsg:4326 |
endPoint | Chaîne | oui | Lieu d'arrivée de l'itinéraire au format : x,y,coordSys. Par exemple : -74.2,40.8,epsg:4326 |
intermediatePoints non | Chaîne | non | Liste de points intermédiaires à inclure tout au long de l'itinéraire. Pour l'inclure à la requête GET HTTP, utilisez le format : Long,Lat,Long,Lat,…,coordsys. Par exemple : -74.2,40.8,-73,42,epsg:4326. Pour inclure un ensemble de points intermédiaires à une requête HTTP POST, ajoutez la charge utile MultiPoint JSON indiquant les points inclus dans l'itinéraire. Si des points intermédiaires sont indiqués à la fois dans l'URL et dans la charge utile json, cette dernière est prioritaire et les points intermédiaires de la l'URL sont ignorés. |
oip | Booléen | non | Paramètre de traitement indiquant si les points intermédiaires doivent être optimisés. La valeur par défaut est false. Par défaut, les points intermédiaires sont utilisés dans le calcul dans l'ordre indiqué. Si cette valeur est définie sur true, les points indiqués sont réorganisés de manière optimale lors du calcul de l'itinéraire. |
returnIntermediatePoints | Booléen | non |
Indique s'il faut renvoyer les points intermédiaires dans la réponse d'itinéraire. La valeur par défaut est false. Pour toute valeur autre que true ou false, la valeur par défaut est false. Cette option renvoie les points intermédiaires dans l’ordre spécifié dans le corps POST. Si la valeur de l’option oip est définie sur true, cette option renvoie les points intermédiaires dans un ordre optimisé. |
destinationSrs | Chaîne | non | Système de coordonnées dans lequel renvoyer l'itinéraire et les géométries obtenues. Le système de coordonnées par défaut est celui des données utilisées. |
optimizeBy | Chaîne | non | Type d'optimisation à utiliser pour l'itinéraire. La valeur valide est time ou distance. La valeur par défaut est time. |
returnDistance | Booléen | non | Indications d'itinéraire incluant la distance parcourue. La valeur par défaut est true. |
distanceUnit | Chaîne | non | Unités de renvoi de la distance. La valeur par défaut est m (mètre). Les valeurs disponibles sont les suivantes : m (mètre), km (kilomètre), yd (yard), ft (pied) et mi (mile). |
returnTime | Booléen | non | Les indications d'itinéraire incluent le temps nécessaire pour suivre une direction. La valeur par défaut est true. |
timeUnit | Chaîne | non | Unités de renvoi de la durée. La valeur par défaut est min (minute). Les valeurs disponibles sont les suivantes : min (minute), msec (milliseconde), s (seconde), h (heure). |
language | Chaîne | non |
Langue de renvoi des indications d'itinéraire, uniquement si celles-ci sont renvoyées (si directionsStyle est défini sur Normal ou sur Succinct). La valeur par défaut est l'anglais (an). Les indications peuvent être renvoyées dans les langues suivantes :
|
returnDirectionGeometry | Booléen | non | Inclure la géométrie distincte associée à chaque instruction d'itinéraire dans la réponse d’itinéraire. La valeur par défaut est false. |
directionsStyle | Chaîne | non |
Type d'indications d'itinéraire à renvoyer. La valeur par défaut est None. Indiquez ce paramètre si vous avez demandé le renvoi d'indications d'itinéraire. Les options de spécification des indications d'itinéraire sont les suivantes :
|
segmentGeometryStyle | Chaîne | non |
Format de la géométrie représentant un segment de l'itinéraire. La valeur par défaut est None. Indiquez ce paramètre si vous avez demandé le renvoi des géométries de segment. Les options de spécification des indications d'itinéraire sont les suivantes :
|
primaryNameOnly | Booléen | non | Spécifie s'il faut renvoyer tous les noms d'une rue donnée dans les indications ou ne renvoyer que le nom principal d'une rue. Utilisé uniquement lorsque les indications d'itinéraire sont renvoyées. La valeur par défaut est false. |
majorRoads | Booléen | non | Spécifie s'il faut inclure toutes les routes dans le calcul ou seulement les routes principales. Si vous choisissez d'inclure uniquement les routes principales, la performance sera améliorée mais la précision en pâtira peut-être. La valeur par défaut est false. |
historicTrafficTimeBucket | Chaîne | non |
Spécifie si le calcul de l'itinéraire utilise les vitesses de circulation historiques. Ces vitesses sont basées sur différents compartiments de temps de la journée. Pour que cette fonction soit disponible, il faut que les données comportent l'historique des vitesses de circulation. Les données de chaque pays/région possèdent les mêmes définitions de tranches horaires mais les valeurs de vitesses par tranches horaires peuvent varier. Les options sont :
|
Éviter | Chaîne | Non | Spécifie une liste de types de routes séparés par des virgules à éviter lors du calcul de l'itinéraire. Il s'agit d'un paramètre de type chaîne. Lorsqu'un type de route est fourni comme valeur du paramètre, l'itinéraire exclut ce type de routes dans le calcul de l'itinéraire. Par exemple, si tollRoad est fourni comme valeur de paramètre, l'itinéraire calculé contient un itinéraire sans route à péage. |
Exemples
Itinéraire simple avec des points de départ et d'arrivée.
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?q=route&startPoint=-73.97,40.79,epsg:4326&endPoint=-73.98,40.74,epsg:4326
Réponse
{
"distance": 7779,
"distanceUnit": "m",
"time": 16.75,
"timeUnit": "min"
}
Itinéraire avec des points intermédiaires.
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?q=route&
startPoint=-73.970257,40.794045,epsg:4326&endPoint=-
73.972103,40.786605,epsg:4326&intermediatePoints=-73.976266,40.788717,
-73.973562,40.792193,-73.971802,40.794630,epsg:4326&oip=true&
returnIntermediatePoints=true"/>
Réponse
{
"distance": 1921,
"distanceUnit": "m",
"intermediatePoints": {
"type": "MultiPoint",
"coordinates": [
[-73.971802, 40.79463],
[-73.973562, 40.792193],
[-73.976266, 40.788717]
]
},
"time": 4.2,
"timeUnit": "min"
}
Itinéraire avec les indications activées.
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?q=route&startPoint=-73.97,40.79,epsg:4326&endPoint=-73.98,40.74,
epsg:4326&language=en&directionsStyle=Normal&returnDirectionGeometry=true
Réponse
{
"time": 10.58,
"timeUnit": "min",
"distance": 9035,
"distanceUnit": "m",
"language": "en",
"directionsStyle": "Normal",
"routeDirections": [
{
"time": 0.03,
"timeUnit": "min",
"distance": 25,
"distanceUnit": "m",
"instruction": "",
"directionGeometry":
{
"type": "LineString",
"coordinates":
[
[
-76.421169,
42.69302
],
[
-76.421353,
42.692645
],
...
]
}
},
{
"time": 0.7,
"timeUnit": "min",
"distance": 394,
"distanceUnit": "m",
"instruction": "Turn right on W 91st St and travel West 394.0 m
(0.7 min).",
"directionGeometry":
{
"type": "LineString",
"coordinates":
[
[
-76.429896,
42.67153
],
...
]
}
}
]
}