This project aims to estimate network tower locations using the Mean Shift clustering algorithm based on signal strength measurements collected by a robot at various locations. The software provides visualization tools to analyze signal strength data and identify areas with poor network coverage.
The ground station software processes signal strength data obtained from a robot's measurements in Dhaka, Bangladesh. The data consists of latitude, longitude, and signal strength (CSQ) values, ranging from 0 to 31. The software visualizes this data on a map, colorizing each point based on signal strength, and utilizes the Mean Shift clustering algorithm to estimate network tower locations.
- Data Visualization: Visualize signal strength data on a map, with color-coded markers representing signal strength levels.
- Mean Shift Clustering: Utilize the Mean Shift clustering algorithm to cluster data points based on signal strength measurements.
- Cluster Analysis: Analyze clusters to identify areas with poor network coverage and potential locations for network towers.
- 3D Plot Visualization: Generate a 3D surface plot to visualize signal strength distribution across different locations.
- Customizable Interface: Customize map type and appearance mode to enhance user experience.
- Data Loading: Load signal strength data obtained from robot measurements.
- Data Visualization:
- View Heatmap: Visualize signal strength distribution on the map.
- View Cluster: Utilize Mean Shift clustering to identify areas with poor network coverage.
- View Tower: Visualize estimated network tower locations based on clustering results.
- 3D Plot Visualization: Analyze signal strength distribution using a 3D surface plot.
- Map Customization: Choose map type (Google normal, Google satellite, or OpenStreetMap) and appearance mode (Light, Dark, or System).
- Reset: Reset map to default settings.
images/
: Contains images used in the project.optimizer/
: Contains scripts and data related to data optimization and clustering.plots/
: Contains generated plots.README.md
: Project overview and usage instructions.app.py
: Main Python script for the ground station software.
- Python 3.x
- Tkinter
- PIL
- numpy
- matplotlib
- scipy
- pandas
- colour
- requests
- Clone the repository:
git clone https://github.com/hamidurrk/ground-station.git
- Setup virtual environment:
python -m venv venv
./venv/Scripts/activate
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python app.py
This project was developed by Md Hamidur Rahman Khan as part of [Tethr].