-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Description:
We need to implement map matching functionality for a set of GeoJSON LineStrings using the Valhalla routing service. There are two possible approaches to achieve this:
-
Service Approach: Host Valhalla as a process, either inside a Docker container or locally, and use Valhalla's map matching API to match the routes.
-
One-shot Mode Approach: Use Valhalla's one-shot mode to map match the routes directly without needing to run Valhalla as a long-running service.
The sub-command will be responsible for sending a set of GeoJSON LineStrings to Valhalla for map matching and processing the response.
Acceptance Criteria:
- Implement a function to map match a GeoJSON set of LineStrings using Valhalla's map matching capabilities.
- Two approaches should be supported:
- Service Approach:
- The solution should allow Valhalla to be hosted either in a Docker container or as a local process.
- Utilize Valhalla's map matching API to send the GeoJSON LineStrings and receive the map matched routes.
- One-shot Mode:
- Implement map matching by directly using Valhalla’s one-shot mode for quicker, on-the-fly map matching without the need to continuously run the service.
- Service Approach:
- Ensure the ability to pass a GeoJSON input and process the Valhalla map matching results in both modes.
- Provide appropriate logging and error handling for the map matching operations.
- Ensure performance considerations and document any potential trade-offs between the service and one-shot modes.
- Update the README to document how to use both approaches for map matching with Valhalla.
- Add automated tests for both the service-based and one-shot map matching methods to ensure functionality and robustness.
Additional Resources:
- Valhalla documentation on Map Matching API
- Valhalla Docker container example: gis-ops/docker-valhalla
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo