Elevation-based Navigation (EleNa) is a map based application that gives the user a hiking route between any two points on the map that either minimizes or maximizes the elevation gain and is within “x%” of the shortest path possible where x is user specified.
with pip:
pip install osmnx
Note: If you are pip installing OSMnx, install geopandas and rtree first.
It's easiest to use conda-forge to get these dependencies installed. with conda:
conda install -c conda-forge osmnx
with pip:
pip install networkx
with pip:
pip install geopy
Also verify that other dependencies mentioned in "requirements.txt" are installed.
- Clone the git repository from
https://github.com/vishnubalakrishnan/Elena_Project.git - Make
startan executable by runningchmod +x start ./startTo start up the application.- Head over to
http://127.0.0.1:5000/presentationon preferably Google Chrome to use the web interface.
- The user clicks on the map to set the start and end point.
- The user also sets the percentage of shortest distance that they are willing to go extra and whether they want to minimize or maximize elevation.
- Clicking on the "Calculate" button would show the shortest and the elevation path. The path statistics are also displayed on the UI
- The user can change percentage or the elevation option and recalculate the route.
- If the user wishes to update the start or end location then the system needs to be reset by clicking the "Reset" button before doing so.
- The algorithm for the elevation route runs the Dijkstra and A-star algorithm. It then choses the best path among the paths returned by each algorithm, based on the elevation requirements.
- The current map is centered around Amherst and we assume that user would query around this area.
- If a user wishes to query in a different location then they need to delete the
graph.pfile and update the UI. The system will then download the new graph object and then work as expected. Note, downloading the graph may take time. The user would also have to generate their own Google Api key to get the elevation data and add that inElenav/abstraction/config.py.
- To run the tests run
python test/test.pyfrom the home directory.
Karishma JainManan PatelRaj PatelMegha NarayanaVishnu Balakrishnan
