Skip to content

Routing Decision Log

TylerMaloney edited this page Jul 7, 2023 · 4 revisions

Routing Engine Decision Log

Methods of displaying routing data:

  • OpenSourceRoutingMachine Server
  • Mapbox Directions API
  • Google Directions API

Chosen Method: None

Unfortunately, given our project timelines, we were not able to implement in-app location routing. Our ideal strategy going forward would be to create an internal OpenStreetRoutingMachine server through docker, with appropriate resource capacity to be able to store the master-routing file as well as return HTTP requests containing the individualized route data from "user" to "location". That solution is ideal because it doesn't require an external subscription/ Unfortunately, initializing our own OpenStreetRoutingMachine server and integrating it is likely outside of our timeline. It is readily possible, though.

We attempted to find a simpler solution to provide a base level of routing (for example: no step-by-step direction, just a simple line from user to destination) but could not find or implement a solution within the project's time-frame.

As to why we didn't choose the other methods: both Google Directions and Mapbox Directions require an API key, and signing up for their services. They both offer limited free tiers, but without provisioning a specific budget in advance, it seems wiser to use an internal solution and available resources. Also, having an internal server to provide the data would assist in retaining that specific analytic data, rather than just exporting the request to mapbox/google.

Note: The routing data must be served from outside of the device, as the size of the file (.stxxl) is typically at least 5gb, and thus not really feasible even for a native application, let alone a Progressive Web App.