Road2 offers a set of features spread across several groups.
Classic and unavoidable functionalities, they will not be detailed here. Precision: it is possible to specify as many intermediate points as desired.
The notion of constraint is defined in the concepts. Basically, it's about specifying conditions that the route must meet. The best known is certainly the prohibition to take highways. But we can have much more complex conditions and we can apply several of them to the calculation of a route.
As specified in the concepts, Road2 manages resources. Each request must specify the resources it is querying.
It is possible to specify which means of transport the itinerary concerns.
It is possible to specify the optimization to be applied during the calculation.
Depending on the data present in the graphs, it is possible to choose the information to be retrieved in the calculation response.
Via several parameters, it is possible to specify the content of the response:
- The presence or not of the steps of the course.
- The format of the geometries in the response. At the moment, geojson, polyline and wkt are available.
- Whether or not a bbox is present in the response.
Using request parameters, it is possible to influence the format of the request itself, and of the response:
- You can define the projection used.
- The format of the durations can be modified.
- The format of the distances is modifiable.
Inevitable functionality for the calculation of an isochrone.
As specified in the concepts, Road2 manages resources. Each request must specify the resources it is querying.
Various costs are possible for the calculation, so it should be specified.
Inevitable features for such a calculation.
It is possible to specify which means of transport the isochrone concerns.
An isochrone can be defined in two directions: departure or arrival. It is therefore a question of specifying which one.
The notion of constraint is defined in the concepts. It is limited to prohibitions, such as, for example, the prohibition to take motorways.
Via several parameters, only one for the moment, it is possible to specify the content of the response:
- The format of the geometries in the response. At the moment, geojson, polyline and wkt are available.
Using request parameters, it is possible to influence the format of the request itself, and of the response:
- It is possible to define the projection used.
- The format of the durations can be modified.
- The format of the distances is modifiable.
Road2 takes the form of a web server which provides a route calculation service. So it has several features related to that.
Self-explanatory feature.
Self-explanatory feature.
As presented in the concepts, Road2 offers the possibility of offering customers different APIs simultaneously.
As presented in the concepts, Road2 offers the possibility of offering customers different engines simultaneously.
The service can be administered in two ways: configuration and a dedicated API.
Via the configuration file of the server, it is possible to create resources which will be based on one or more sources.
Road2's APIs offer several options, such as the ability to calculate routes with intermediate points. It may be interesting to limit the usage of these options so as not to overload the service.
Self-explanatory feature.
Feature being implemented. The goal is to retrieve the status of each source from each service and report it.
Self-explanatory feature.
Self-explanatory feature.
The exclusions are the classic constraints such as the prohibition to use certain types of roads (eg motorways). These are the only constraints available through OSRM.
For a given point, OSRM can return the nearest points of the graph.
Self-explanatory feature.
Self-explanatory feature.
PGRouting manages all types of constraints, from the simplest to the most complex. We can therefore prohibit access to motorways or prefer roads that have a width greater than 5 meters.
The GetCapabilities is a JSON response that describes the parameters for each operation and the values available for an instance of Road2.
An example can be found in {{ 'documentation'.format(repo_url, repo_branch) }}.