Mumbai Map Navigator is a Python-based interactive tool that helps users navigate through various locations in Mumbai, India. It provides features such as finding the shortest path between two locations, searching for locations, and retrieving information about specific areas in Mumbai.
- Shortest Path Finder: Calculate the shortest route between two locations in Mumbai, including distance, estimated travel time, and fuel consumption.
- Location Search: Search for locations in Mumbai using fuzzy matching to find close matches even with slight misspellings.
- Multiple Path Finder: Discover up to three different paths between two locations.
- Location Information: Get detailed information about a specific location, including a brief description and its connections to other areas.
- Python 3.6 or higher
heapq
module (included in Python standard library)difflib
module (included in Python standard library)
- Clone this repository or download the
mumbai_map_navigator.py
file. - Ensure you have Python 3.6 or higher installed on your system.
To run the Mumbai Map Navigator:
-
Open a terminal or command prompt.
-
Navigate to the directory containing
mumbai_map_navigator.py
. -
Run the following command:
python mumbai_map_navigator.py
-
Follow the on-screen prompts to interact with the navigator.
When you run the program, you'll be presented with the following options:
- Find shortest path between two locations: Enter a starting location and destination to find the shortest route.
- Search for a location: Search for a location by name, with support for fuzzy matching.
- Find multiple paths between two locations: Discover up to three different routes between two locations.
- Get information about a location: Retrieve details about a specific location, including its description and connections.
- Exit: Quit the program.
Here's an example of how to use the Mumbai Map Navigator:
- Run the program.
- Choose option 1 to find the shortest path.
- Enter "Bandra" as the starting location.
- Enter "Colaba" as the destination.
- The program will display the shortest route, total distance, estimated travel time, and fuel consumption.
The Mumbai Map Navigator uses the following data structures:
- A dictionary of
Location
objects representing various locations in Mumbai. - A graph represented as a nested dictionary, where each location is connected to its neighbors with associated distance, time, and fuel consumption values.
The project implements several algorithms:
- Dijkstra's Algorithm: Used for finding the shortest path between two locations.
- Depth-First Search (DFS): Used for finding multiple paths between two locations.
- Binary Search: Used for efficient location lookup.
- Fuzzy String Matching: Used for searching locations with similar names.
Contributions to the Mumbai Map Navigator project are welcome! Please feel free to submit pull requests or open issues to suggest improvements or report bugs.
This project is open-source and available under the MIT License.