-
Notifications
You must be signed in to change notification settings - Fork 0
Requetes OSRM
Ce tutoriel à été fait sur la version 5.22.0 de OSRM. Certaines requêtes peuvent avoir évoluées.
Les Requêtes OSRM sont faites de tel manière :
{server}/{service}/{version}/{profile}/{coordinates}[.{format}]?option=value&option=value
Le tag "server" correspond, pour nous à :
http://localhost:5000/
Voici un tableau récapitulant les valeurs pouvant êtres données à "service", "version", "profile", "coordinates" et "format" :
Paramètre | Description |
---|---|
|
Une des valeurs suivantes : route, nearest, table, match, trip, tile |
|
Version du protocole implémenté par le service. v1 pour toutes les installations OSRM 5.x |
|
Mode de transport, déterminé par le profil Lua qui a été utilisé pour la préparation des données lors de la commande osrm-extract. |
|
Les {longitude},{latitude};{longitude},{latitude}[;{longitude},{latitude} ...] en format chaine de caractère (String). Il est aussi possible d'utiliser polyline({polyline}) ou polyline6({polyline6}) |
|
Seul JSON est supporté pour le moment. Ce paramètre est optionnel, et sa valeur par défaut est json. |
Voici la liste des options disponibles, qui sont optionnelles, permettant de moduler les requêtes au serveur :
Option | Valeurs | Description |
---|---|---|
|
{bearing};{bearing}[;{bearing} ...] | Limite la recherche aux segments avec un certain degré donné, qui correspond a un degré par rapport au vrai nord, dans le sens des aiguilles d'une montre |
|
{radius};{radius}[;{radius} ...] | Limite la recherche au rayon donné, en mètres |
|
true (default), false | Ajoute une "marque" à la réponse, permettant d'être utilisé dans des requêtes annexes (voir le paramètre "hints"). |
|
{hint};{hint}[;{hint} ...] | Marque d'un requête précédente |
|
{approach};{approach}[;{approach} ...] | Garde les points de passage sur une courbe. |
|
{class}[,{class}] | Ajouter des classes à ne pas prendre en compte. L'ordre n'importe pas. |
Les paramètres doivent suivre les formats suivants :
Paramètre | Valeurs |
---|---|
bearing | {value},{range} integer 0 .. 360,integer 0 .. 180 |
radius | double >= 0 ou ilimité (default) |
hint | Base64 string |
approach | "curb" ou "unrestricted" (par défaut) |
class | Une classe définie par le profil, ou None |
{option}={element};;{element}
La deuxième coordonnée utilise la valeur par défaut de l'option :
{radius}={30};;{radius}
curl "http://localhost:5000/route/v1/biking/-0.551555,47.493140;-0.555089,47.487081?steps=true"
Pour notre projet, il faut savoir quel valeur du tag "service" nous allons utiliser. Pour notre projet, le pus intéressant serait d'utiliser les valeurs "route" et "nearest". route permet de trouver la route la plus courte reliant les coordonnées fournies, alors que nearest retrouve les n points les plus proches de la coordonnée fournie.
OSRM Documentation API : http://project-osrm.org/docs/v5.22.0/api/#general-options