Project Live Demo : https://bit.ly/3vTSaLD
A Streamlit web-application which deals with the construction and plotting of shortest-routes for Electric vehicles (EVs) based on different aspects of the nature of roads such as walk, drive, bike, etc. which is basically the network type of the graph used for finding shortest paths between two points.
The term ‘shortest’ may have different meanings to different individuals. For example: For a person A, he may consider the route which makes him reach the destination in at least time as the shortest-path based on travel-time. At the same time,for person B, there may exist a way or path by which he may take a bit more time but he reaches the destination with the least consumption of fuels. So, Person B can call that route the shortest-path based on fuel consumption. The second is an example of Eco-routing. Broadly speaking, Eco-routing is the identification of the most energy-efficient route for a vehicle to travel between two points and is offered as a way in which drivers can reduce fuel consumption and consequently reduce the carbon footprint of their journeys Similarly, many more cases exist in the real world nature of the roads and networks.
This project is designed on the generation of shortest routes between two points based on the travel time.
- Integrated Google Geocoding API from Google Cloud Console to fetch the geo-spatial coordinates of the locations.
- Implemented features like selection of network type, algorithm type to use, map types to display, etc.
- Hosted the project on Streamlit Share.
- Clone(fork) this repository
- Run these following commands on your terminal/ cmd prompt:
- cd Shortest_Route_Visualizer_for_Electric_Vehicles
- pip install streamlit
- pip install scikit-learn
- streamlit run main.py
- Wait for few seconds, it will start running on your local machine.
- OSMNX
- Folium
- Numpy
- Json
- Matplotlib
- Run the app - Steps are mentioned above.
- If you face issues in any step open a new issue.
- To fix issues: Fork this repository, make your changes and make a Pull Request.
- Still there are some features to complete as well as to implement, If you find this app intresting than hit me up; I will be glad to work with you.
For major changes, you are welcome to open an issue to discuss what you would like to change. Enhancements will be appreciated.
Drop a star ⭐ if you find this project interesting!
Made with ❤️ in 🇮🇳 By Shivam Sahu