Navigation system to determine a route which minimizes or maximizes elevation gain, while limiting the total distance between the two locations to x% of the shortest path.
In the project directory, you need to run:
Nodejs is required to run the application
Yarn is used to install the dependencies and run the application
This will install the necessary dependencies to run EleNa
This will start EleNa in your default browser assuming you ran yarn install
- Note: Avoid using Firefox
Run the automated testing framework
- blue: heavy decline
- green: moderate decline
- yellow: roughly flat
- orange: moderate uphill
- red: heavy uphill
Here you can see the difference between inputted 5% away from the shortest path vs 40% away from the shortest path while minimizing elevation when traveling from 160 Infirmary Way, Amherst, MA to Orchard Hill Drive, Amherst, MA
5% away from the shortest path
40% away from the shortest path
There is a turn by turn card in the bottom right corner of the map which allows you to receive directions as you travel
You can click next direction to navigate through the path
You can also toggle the 'Turn by Turn' view instead of the map view with the toggle on the left side
You can minimize or maximize your elevation gain when calculating your optimal path
Minimize elevation gain from 160 Infirmary Way, Amherst, MA to Orchard Hill Drive, Amherst, MA Maximize elevation gain from 160 Infirmary Way, Amherst, MA to Orchard Hill Drive, Amherst, MA
- Front end: React (class based components)
- APIs:
- Mapbox: Displaying the map
- MapQuest: Retrieving the latitude and longitude for the front end
- Maptiller: Themeing for the map
- Air Map: Used to retrieve the elevation data given a list of latitude and longitude points
- Backend: JavaScript