Road2 propose un ensemble de fonctionnalités regroupées dans plusieurs groupes.
Fonctionnalités classiques et inévitables, elles ne seront pas détaillées ici. Précision : il est possible de préciser autant de point intermédiaire que l'on souhaite.
La notion de contrainte est définie dans les concepts. Pour faire simple, il s'agit de spécifier des conditions que l'itinéraire devra remplir. La plus connue est certainement l'interdiction de prendre des autoroutes. Mais on peut avoir des conditions beaucoup plus complexes et on peut en appliquer plusieurs au calcul d'un itinéraire.
Comme précisé dans les concepts, Road2 gère des ressources. Chaque requête doit préciser la ressources qu'elle interroge.
Il est possible de préciser quel moyen de transport, l'itinéraire concerne.
Il est possible de préciser l'optimisation que l'on veut appliquer lors du calcul.
Selon les données présentes dans les graphes, il est possible de choisir les informations que l'on souhaite récupérer dans la réponse du calcul.
Par l'intermédiaire de plusieurs paramètres, il est possible de préciser le contenu de la réponse :
- La présence ou non des étapes du parcours.
- Le format des géométries dans la réponse. Pour le moment, geojson, polyline et wkt sont disponibles.
- La présence ou non d'une bbox dans la réponse.
Grâce à des paramètres de la requête, il est possible d'influencer le format de la requête elle-même, et de la réponse :
- Il est possible de définir la projection employée.
- Le format des durées est modifiable.
- Le format des distances est modifiable.
Fonctionnalité inévitable pour le calcul d'un isochrone.
Comme précisé dans les concepts, Road2 gère des ressources. Chaque requête doit préciser la ressources qu'elle interroge.
Divers coûts sont possibles pour le calcul, il s'agit donc de le préciser.
Fonctionnalités inévitable pour un tel calcul.
Il est possible de préciser quel moyen de transport, l'isochrone concerne.
Un isochrone peut se définir dans deux directions : départ ou arrivée. Il s'agit donc de préciser laquelle.
La notion de contrainte est définie dans les concepts. Elle est limitée aux interdictions, comme par exemple, l'interdiction de prendre des autoroutes.
Par l'intermédiaire de plusieurs paramètres, un seul pour le moment, il est possible de préciser le contenu de la réponse :
- Le format des géométrie dans la réponse. Pour le moment, geojson, polyline et wkt sont disponibles.
Grâce à des paramètres de la requête, il est possible d'influencer le format de la requête elle-même, et de la réponse :
- Il est possible de définir la projection employée.
- Le format des durées est modifiable.
- Le format des distances est modifiable.
Road2 prend la forme d'un serveur web qui fournit un service de calcul d'itinéraire. Il possède donc plusieurs fonctionnalités liées à cela.
Fonctionnalité explicite.
Fonctionnalité explicite.
Comme présenté dans les concepts, Road2 offre la possibilité de proposer aux clients différentes APIs simultanément.
Comme présenté dans les concepts, Road2 offre la possibilité de proposer aux clients différents moteurs simultanément.
Le service peut être administrer de deux manières : la configuration et une API dédiée.
Via la configuration fichier du serveur, il est possible de créer des ressources qui se baseront sur une ou plusieurs sources.
Les APIs de Road2 proposent plusieurs options, comme la possibilité de calculer des itinéraires avec des points intermédiaires. Il peut être intéressant de limiter l'usage de ces options afin de ne pas surcharger le service.
Fonctionnalité explicite.
L'objectif est de récupérer l'état de chaque source de chaque service et d'en faire un compte-rendu.
Fonctionnalité explicite.
Fonctionnalité explicite.
Les exclusions sont les contraintes classiques comme l'interdiction d'emprunter certains type de voies (ex. autoroutes). Ce sont les seuls contraintes disponibles via OSRM.
Pour un point donnée, OSRM peut renvoyer les points les plus proches du graphe.
Fonctionnalité explicite.
Fonctionnalité explicite.
PGRouting gère tout les types de contraintes, des plus simples au plus complexes. On peut donc interdire l'accès aux autoroutes ou préférer les routes qui ont une largeur supérieure à 5 mètres.
Le GetCapabilities est une réponse JSON qui décrit les paramètres de chaque opérations et les valeurs disponibles pour une instance de Road2.
On trouvera un exemple dans la {{ 'documentation'.format(repo_url, repo_branch) }}.