Skip to content

ZachSchaffer/EleNa

Repository files navigation

EleNa

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.

Github repo

EleNa example

Check out the hosted application

EleNa

Check out a video demonstration of EleNa

EleNa Video Demonstration

How to run locally

In the project directory, you need to run:

Install Node.js

Nodejs is required to run the application

Install yarn

Yarn is used to install the dependencies and run the application

yarn install

This will install the necessary dependencies to run EleNa

yarn start

This will start EleNa in your default browser assuming you ran yarn install

  • Note: Avoid using Firefox

yarn test

Run the automated testing framework

Route elevation color scale

  • blue: heavy decline
  • green: moderate decline
  • yellow: roughly flat
  • orange: moderate uphill
  • red: heavy uphill

Adjust the % away from the shortest path

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 5% away

40% away from the shortest path 40% away

Turn by turn view

There is a turn by turn card in the bottom right corner of the map which allows you to receive directions as you travel Turn by turn view start

You can click next direction to navigate through the path Intermediate location turn by turn

You can also toggle the 'Turn by Turn' view instead of the map view with the toggle on the left side Turn by turn toggled

Minimize and Maximize Elevation

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 minimize Maximize elevation gain from 160 Infirmary Way, Amherst, MA to Orchard Hill Drive, Amherst, MA maximize

Architecture

EleNa Architecture

Technologies

  • 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

About

Elevation based navigation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published