A Python-based Campus Navigation System that helps users find the shortest path between locations on campus. It integrates with Google Maps API for real distances, durations, and path visualization, while also supporting algorithms like Dijkstra and Floyd-Warshall. The system generates an interactive map visualization using Folium.
- Add and manage campus locations with latitude/longitude.
- Fetch real-time walking distances and durations via Google Maps Distance Matrix API.
- Retrieve detailed path coordinates via Google Maps Directions API.
- Compute shortest paths using:
- Dijkstra's Algorithm
- Floyd-Warshall Algorithm
- Generate interactive map visualizations with routes and markers.
- Save the generated map as an HTML file.
-
Python 3.8+
-
Libraries:
pip install googlemaps folium python-dotenv requests polyline
-
A valid Google Maps API Key with:
- Distance Matrix API enabled
- Directions API enabled
-
Clone or download the repository.
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.envfile in the project root:GOOGLE_MAPS_API_KEY=your_api_key_here -
Run the script:
python main.py
- Prints:
- Shortest path
- Distance in meters
- Estimated walking duration
- Saves:
campus_navigation.html→ Interactive map with route and markers
Locations in the example: - Library - AB1 - AB3 - Sports Complex - C-Block
Sample Output:
Navigation Results:
Path: Library -> AB1 -> C-Block
Total Distance: 450 meters
Walking Duration: 6 mins
Map visualization saved as 'campus_navigation.html'
.
├── main.py # Main project file
├── .env # Environment variables (API key)
├── requirements.txt # Python dependencies
└── README.md # Documentation