GIS, Minimum Spanning Tree, and Signal-Weighted K-Nearest Neighbor Analysis of Telkomsel Towers in Banten, Indonesia
- Overview
- Paper Reference
- Methodology
- Project Structure
- Installation
- Usage
- Results & Visualizations
- Key Findings
- Citation
- License
This project analyzes spatial load disparities in Telkomsel's cellular network across Banten Province, Indonesia, integrating:
- Geographic Information Systems (GIS) β spatial data processing with shapefiles
- Minimum Spanning Tree (MST) β optimal network connectivity modeling
- Signal-Weighted K-Nearest Neighbor (SW-KNN) β user-to-tower association with signal-strength weighting
The analysis covers 100 Telkomsel towers (LTE & LTE-A) and simulates 1,000 user samples distributed across Banten. Signal strength is classified using RSRP (Reference Signal Received Power) thresholds:
| Signal Level | RSRP Threshold | Color |
|---|---|---|
| π’ Strong | β₯ β80 dBm | Green |
| π‘ Medium | β96 to β80 dBm | Yellow |
| π΄ Weak | β€ β96 dBm | Red |
This repository accompanies the peer-reviewed paper:
Nurhajati, R., Fahmi, F. A., Hadiputra, D. F., Nurhaida, I., & Purwanto, E. (2026). Spatial Load Disparities in Cellular Networks: Integrating Geographic Information System, Minimum Spanning Tree, and Signal-Weighted K-Nearest Neighbor for Telkomsel Towers in Banten, Indonesia. Engineering Proceedings, MDPI.
π DOI: 10.3390/engproc2026128012
The core workflow consists of:
- Data Collection β Tower coordinates & specifications from Cellmapper.net
- Spatial Processing β Banten province boundary via shapefile (
shape_Banten/) - User Simulation β 1,000 signal samples with RSRP values based on distance to nearest tower
- Nearest Neighbor Association β Each user assigned to the closest tower
- Load Calculation β Weighted tower load (
Bt) using signal-quality-dependent weights:- Strong signal β weight = 1.0
- Medium signal β weight = 0.75
- Weak signal β weight = 0.5
- MST Construction β Minimum Spanning Tree for network topology visualization
- Overload Analysis β Classification: Overloaded (>20 users), Underutilized (<6 users), Normal
mapping-network-analysis/
βββ mapping_network.py # Main analysis script (simulation mode)
βββ mapping_network_from_csv.py # Analysis from pre-computed tower_load.csv
βββ tower.py # Tower data module (100 Telkomsel towers)
βββ sampel.py # User signal simulation module
βββ banten.py # Banten province map visualization
βββ Loc_blank_spot.py # Blank spot geocoding & analysis
βββ underutilized.py # Underutilized tower identification
βββ shape_Banten/ # Banten province shapefile
β βββ indonesia_Province_level_1.shp
βββ tower_load.csv # Pre-computed tower load data
βββ blank_spot.csv # Blank spot coordinates
βββ location_counts.csv # Blank spot location frequency
βββ result/ # Output visualizations
- Python 3.8+
- pip package manager
# Clone the repository
git clone https://github.com/fikriaf/mapping-network-analysis.git
cd mapping-network-analysis
# Install dependencies
pip install geopandas pandas matplotlib networkx shapely tabulate geopyNote:
geopandasmay require additional system dependencies on some platforms. Refer to the GeoPandas installation guide if needed.
python mapping_network.pyThis runs the complete pipeline: tower data β user simulation β nearest neighbor β MST β load analysis β visualization.
python mapping_network_from_csv.pyLoads existing tower_load.csv and generates the signal distribution map without re-simulating.
python Loc_blank_spot.pyReverse-geocodes blank spot coordinates from blank_spot.csv and visualizes distribution across cities/regencies.
python underutilized.pyIdentifies towers operating below 30% of capacity threshold (C = 20).
python banten.pyDisplays the base map of Banten province from the shapefile.
Telkomsel tower locations and signal coverage across Banten. Blue markers indicate tower positions with labels.
Signal strength distribution map with Minimum Spanning Tree (MST) network topology, top 10 towers by load, and top 10 by connected users.
Signal distribution generated from pre-computed tower load CSV data.
Towers exceeding the capacity threshold (C = 20 users).
Heatmap visualization of signal strength with blank spot areas highlighted.
Distribution of blank spot occurrences across cities and regencies in Banten.
Regression analysis with Pearson correlation between distance to nearest tower and signal strength.
Cellmapper.net tower data for the Banten area used as the data source.
Geographic boundary of Banten Province used for spatial analysis.
- Overloaded Towers: A percentage of towers exceed the capacity threshold (
C = 20), indicating spatial load disparities. - Underutilized Towers: Several towers operate below 30% capacity, suggesting inefficient resource allocation.
- Blank Spots: Signal dead zones identified across multiple cities/regencies in Banten.
- Distance Correlation: Signal strength shows significant negative correlation with distance from the nearest tower (Pearson correlation).
- MST Connectivity: The Minimum Spanning Tree reveals the optimal network topology connecting all towers with minimal total edge weight.
If you use this code or data in your research, please cite:
@article{nurhajati2026spatial,
title={Spatial Load Disparities in Cellular Networks: Integrating Geographic Information System, Minimum Spanning Tree, and Signal-Weighted K-Nearest Neighbor for Telkomsel Towers in Banten, Indonesia},
author={Nurhajati, R. and Fahmi, F. A. and Hadiputra, D. F. and Nurhaida, I. and Purwanto, E.},
journal={Engineering Proceedings},
publisher={MDPI},
year={2026},
doi={10.3390/engproc2026128012}
}This project is licensed under the MIT License β see the LICENSE file for details.
Built with β€οΈ for Banten β’ Fikri Armia Fahmi










