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.

Remarque : La réponse du service REST se présente au format JSON et la géométrie renvoyée au format GeoJSON. Lorsqu'une requête contient des paramètres de requête non valides dans l'URL GET, ou une charge utile non valide pour POST, une réponse d’erreurs cumulées est renvoyée dans un tableau JSON. Le nœud value de la réponse JSON est déprécié. Pour la vérification des erreurs, seul le nœud errors doit être utilisé.

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
			

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 :

sq
Afficher les informations en albanais.
zh_CN
Afficher les informations en chinois.
zh_TW
Afficher les informations en chinois (Taïwan).
hr
Afficher les informations en croate.
cs
Afficher les informations en tchèque.
da
Afficher les informations en danois.
nl
Renvoie les directions en hollandais.
en
Afficher les informations en anglais. Valeur par défaut
fr-FR
Afficher les informations en anglais américain.
et
Afficher les informations en estonien.
fi
Afficher les informations en finnois.
fr
Afficher les informations en français.
de
Afficher les informations en allemand.
hu
Afficher les informations en hongrois.
it
Afficher les informations en italien.
ja
Afficher les informations en japonais.
lv
Afficher les informations en letton.
lt
Afficher les informations en lituanien.
no
Renvoie les directions en norvégien.
pt
Afficher les informations en portugais.
ro
Afficher les informations en roumain.
sk
Afficher les informations en slovaque.
sl
Afficher les informations en slovène.
es
Renvoie les directions en espagnol.
sv
Afficher les informations en suédois.
ru
Afficher les informations en russe.
tr
Afficher les informations en turc.
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 :

None
Aucune indication renvoyée. Par défaut, en cas d'absence de spécification.
Normal
Les indications sont renvoyées au format complet, approprié pour les applications Web.
Terse
Les indications sont renvoyées au format court, approprié pour les applications mobiles.
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 :

None
Aucune représentation géométrique d'un segment n'est renvoyée. Par défaut, en cas d'absence de spécification.
End
Chaque segment de l'itinéraire est renvoyé avec uniquement ses points de terminaison dans un élément LineString.
All
Chaque segment est renvoyé avec tous ses points de structure au format LineString. L'élément LineString peut être utilisé comme recouvrement sur une carte.
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 :

None
Valeur par défaut. Les données d'historiques de circulation ne sont pas utilisées dans le calcul. À leur place, une valeur de vitesse moyenne est utilisée.
AMPeak
Calculez des itinéraires à l'aide des vitesses de pointe le matin. La tranche horaire Heures pleines matin se situe entre 07 h 00 et 10 h 00.
PMPeak
Calculez des itinéraires à l'aide des vitesses de pointe l'après-midi. La tranche horaire Heures pleines après-midi se situe entre 16 h 00 et 19 h 00.
OffPeak
Calculez des itinéraires à l'aide des vitesses aux heures creuses de la journée. La tranche horaire Heures creuses se situe entre 10 h 00 et 16 h 00.
Night
Calculez des itinéraires à l'aide des vitesses de nuit. La tranche horaire Nuit se situe 22 h 00 de 04 h 00.
É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
],
...
]
}
}
]
}