Planning a route (for Shortest Time to cover Area) and schedule of Drones for Mapping a given area.
The input provided will be:
- Map of area to be covered. (Shapefile)
- Number of drones.
- Source and Sink Locations
- Depreciation Rate (% per unit)
- Location of automatic Charging station.
Output will be:
- Minimum number of Drones required to map the area.
- All Unique Routes taken by each drone.
- Remaining Battery of each Drone after completing its journey.
- A Google Map plotted with all Nodes and Charging stations and edges connecting them.
- All Unique Routes plotted on another Google Map as the final output with a different random colour for each traversed route.
- Python
- NumPy
- gmplot
- pyshp
- webbrowser
- Tkinter for GUI
- Pillow
- pandas
- math
- random
- os
- Google Maps / Google Earth
- Shapefile (SHP)
- Keyhole Markup Language (KML)
Algorithms used, Cases covered and Example can be found here.
Follow these steps to convert any map into a .shp
(Shapefile) format :
-
Open Google Maps
-
Go to Your places → MAPS → CREATE MAP
-
Add a Title, Layer and Plot desired points on the map.
-
Click on Export to KML/KMZ.
-
Select the layer → Export as KML → Download.
A.kml
file will be downloaded. -
Convert this file to
.shp
.
You can use online converters like https://mygeodata.cloud/converter/kml-to-shp -
Download this
.shp
file.
-
Clone this repository or download zip.
-
Open this repository on terminal. Navigate to src folder by typing
cd src
. -
Type (if mentioned above python modules are not installed)
pip install numpy, gmplot, pyshp, pandas, Pillow
-
To run the project,
python3 djik.py
-
All set.
You can run this project as a native desktop application (Windows) without any prerequisite requirements:
- Download install.rar file.
- Extract this file and navigate to install folder.
- Double click on
djik.exe
- All set.