RF Sector Coverage Map
Give it a CSV of cell sites and it draws each sector where it actually points: azimuth from the data, beamwidth and reach per technology, on top of a real basemap. It is the check you want before a plan goes anywhere near a report — the moment a wrong azimuth or a swapped latitude is visible, it stops being a spreadsheet problem.
Nothing is uploaded. The parsing runs in your browser, which also means it works on a laptop with no VPN back to the office, and that a confidential site list stays confidential.
How to use it
- 01
Load the sample
The map opens with 974 real Jabodetabek site positions already on it, so you can see the shape of the output before committing your own data. Azimuth and technology in the sample are generated — operators do not publish those.
- 02
Drop in your CSV
Upload replaces the sample. Column names are matched loosely, so lat / latitude, lon / lng / longitude, azi / azimuth, and tech / technology all land in the right place.
- 03
Read it by zoom
Zoomed out, sites collapse to dots so a whole region stays legible. Zoom in and they become full sectors you can click for the row behind them.
CSV columns it reads
Column names are matched case-insensitively, and the aliases below are recognised — an export you already have usually works without renaming anything.
| Column | Required | Notes |
|---|---|---|
| Latitude | Yes | Decimal degrees. Aliases: lat. |
| Longitude | Yes | Decimal degrees. Aliases: lon, lng, long. |
| Azimuth | Yes | Degrees from true north, 0–360. Alias: azi. |
| Tech | Optional | 2G, 3G, 4G, or 5G. Sets colour, reach, and beamwidth. Alias: technology. |
| Site_ID | Optional | Shown in the popup. Aliases: site, siteid. |
| Band | Optional | Free text, shown in the popup. |
| Beamwidth | Optional | Horizontal beamwidth in degrees. Overrides the per-technology default. Aliases: bw, hbw, h_bw. |
| Radius_m | Optional | Sector reach in metres. Overrides the default. Aliases: radius, range_m, cell_range. |
How it works
Each technology gets its own geometry
2G is drawn short and wide, 3G medium, 4G long and narrow, and 5G as a fan of narrow beams. They are stacked in that order, so a co-sited 4G sector stays readable on top of the 2G lobe underneath it instead of disappearing into it. Your own Beamwidth and Radius_m columns override all of it.
It draws by zoom level, not all at once
Sectors are built only for the map cells currently on screen, and far-out zoom levels fall back to points and then dots. That is why panning stays smooth with thousands of sectors loaded instead of freezing while it redraws the whole region.
The drive test layer is on the same map
Both tools share one map and one set of layer switches, so you can put measured RSRP on top of the sectors that were supposed to serve it. That comparison is the actual job; splitting it across two pages would be the wrong tool.
Questions
- Is my site list uploaded anywhere?
- No. The CSV is parsed by JavaScript inside your browser tab and drawn straight to a canvas. There is no upload endpoint in this tool, so the file never reaches a server — mine or anyone else’s. You can confirm it yourself: open the Network tab, load a file, and watch that nothing leaves.
- Do I need an account?
- No account, no email, no trial limit. The tool is a static page; there is nothing to sign up to.
- What columns does the CSV need?
- Latitude, Longitude, and Azimuth are the minimum. Tech sets the colour and shape, and Beamwidth and Radius_m override the per-technology defaults when your antennas do not match them. Common alternative names are recognised, so an export with "lat" and "lng" works without renaming anything.
- How many sites can it handle?
- The sample is 974 sites, roughly nine thousand sectors, and it pans smoothly because only the sectors on screen are built. The ceiling is your device, not a plan limit — there is no server to run out of.
- Can I use it for client or employer work?
- Yes, including commercially, and no attribution is required. Two honest caveats: the tool is provided as-is with no warranty, and the built-in sample basemap and road geometry come from OpenStreetMap (ODbL) — that applies to the sample data, never to a file you load yourself.