-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Feature
Expose native OSRM and Valhalla APIs
Is your feature request related to a problem? Please describe.
I would like to develop a web-based application using the maplibre-gl framework, and use the IGN routing APIs. The routing plugins available use native OSRM and Valhalla APIs to work, and I'd want to use them out of the box (https://github.com/maplibre/maplibre-gl-directions and https://github.com/watergis/mapbox-gl-valhalla)
Describe the solution you'd like
I'd like to be able to use the native APIs of OSRM and Valhalla on a road2 service (specifically, the one served by IGN).
For example :
- osrm :
{baseRoad2Url}/simple/1.0.0/osrm/driving/13.388860,52.517037;13.385983,52.496891?steps=true
- valhalla :
{baseRoad2Url}/simple/1.0.0/valhalla/isochrone?json={"locations":[{"lat":-1.0825252603106321,"lon":35.47230915879868}],"costing":"pedestrian","contours":[{"time":10,"color":"0000ff"}],"polygons":true}
Other suggestion :
- osrm :
{baseRoad2Url}/osrm/driving/13.388860,52.517037;13.385983,52.496891?steps=true
- valhalla :
{baseRoad2Url}/valhalla/isochrone?json={"locations":[{"lat":-1.0825252603106321,"lon":35.47230915879868}],"costing":"pedestrian","contours":[{"time":10,"color":"0000ff"}],"polygons":true}
Tasks
- Create an openAPI JSON for OSRM (documentation/apis)
- Route URL
- GetCap URL to make the link between resources and profile/optimization
- Create an openAPI JSON for Valhalla (documentation/apis)
- Iso URL
- GetCap URL to make the link between resources and profile/optimization
- Modify the configuration to add the new APIs (docker/config/service.json)
- Create the directories src/js/apis/osrm/1.0.0 and src/js/apis/valhalla/1.0.0
- For each directory, code the init.js, update.js and index.js
- For the init.js : create the getcap
- For the update.js : update the getcap
- For the index.js : create the router which handle requests.
- Add new properties inside the routeRequest class to handle osrm options
- Add new properties inside the isoRequest class to handle valhalla options
- Add an optional option object inside the computeRequest function to indicate that we want the raw response of the motor or create two new classes for each motor responses
- Add unit and integration tests for any new classes or properties of existing ones
- Add request tests (test/functional/request/cucumber/features)
- Modify the default configuration and run configuration functional tests
- Update documentation
- Update changelog
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
No status