Amateur radio license map info

Welcome to my little spare time project. I've been working on this on and off for about a year as time and motivation allows.

This is more of an excuse to have some fun with Maps and Geocoding than anything else but it hopefully provides something interesting to play with. "Geocoding" means to convert physical addresses into longitude and latitude coordinates. Behind the scenes, this site has been slowly geocoding all active amateur radio addresses in the FCC license data. The FCC data includes all licenses which have a status of "active".

I've found it an interesting project with lots of little challenges. Some of this is because of the wide variation of population and therefore "ham density" throughout the country. I've had to balance that with performance issues both at the database query level and practical limitations of Google Maps. The data is also kind of messy with multiple licensees at one address and multiple addresses at the same location. This last issue is mostly due to spelling variations. In general, one marker appears on the map for each unique latitude / longitude point.

The performance / data quantity compromise I've come up with is that it searches within a 20 mile radius of the map center and has a limit of 200 location markers. The results are sorted by distance which means that the circle is complete until it hits the 200 markers. I haven't found a gridsquare that has more than 200 so if you center on a gridsquare, I think we always get all in that square.

The initial geocoding was done in bulk using Nominatim / OpenStreetMap. This succeeded in finding about half of all addresses. Then over a long period of time the rest were processed using Geocodio.

Geocoding continues using Geocodio at a rate of 125 per hour or a total of 2500 per day which keeps it within the free limit.  Every hour it selects 125 addresses from the database to geocode. These are chosen with the following priority.

  1. New addresses that have not be geocoded before.
  2. Those that previously succeeded on OpenStreetMap. Reprocessing these with Geocodio seems to be improving the results.
  3. Those that previously failed. Some now succeed because of better data.

A weekly import from the FCC usually happens early Wednesday morning eastern time. Only those stations with a status of "active" are retained. About 1000 addresses are added and deleted each week. Geocoding the new addresses is usually completed by late Wednesday.

Of course some addresses are PO Boxes and other mailing services. Addresses starting with "PO Box" are simply excluded. Also, many licensees are not active in the hobby. Be that as it may, it can be fun to play with the Street View feature of the maps to look for antennas.

Although I've only considered data from the USA, it's written in a generalized way so it can handle data from other countries but I'm not aware of any other countries who make their data publicly available.

It's built with Drupal 8. The code is all on Github here, here and here.

Anyway… I think it's pretty much "done" in terms of new features unless someone comes up with a good idea. I've probably spent way too much spare time on this already and it's time to get my antenna up again and do some QRP construction. Feedback is welcome. The easiest way is by email to tetranz (at) gmail.com

73
Ross  KT1F

Geocode report

StateNewSuccessfulNot FoundPO Box
AK 0 2256 116 1161
AL 0 11459 277 628
AP 0 2 126 7
AR 0 7410 139 704
AS 0 0 4 17
AZ 0 19448 343 1926
CA 0 97030 1017 9508
CO 0 17525 247 1342
CT 0 7339 56 318
DC 0 504 1 28
DE 0 1757 8 70
FL 0 42033 283 1865
GA 0 17815 608 974
GU 0 3 140 125
HI 0 2908 127 957
IA 0 6170 119 273
ID 0 8093 305 1078
IL 0 19368 347 741
IN 0 15029 329 543
KS 0 7018 90 369
KY 0 8780 451 524
LA 0 5844 125 391
MA 0 13121 37 788
MD 0 10954 66 420
ME 0 4091 41 543
MI 0 20506 463 716
MN 0 11348 92 403
MO 0 14000 879 768
MP 0 2 57 158
MS 0 4725 349 363
MT 0 3288 60 724
NC 0 20554 177 1369
ND 0 1428 46 137
NE 0 3589 98 184
NH 0 5122 55 504
NJ 0 13286 139 533
NM 0 5718 146 900
NV 0 7466 133 826
NY 0 26278 165 1652
OH 0 27335 348 817
OK 0 8211 1039 824
OR 0 18201 235 2273
PA 0 23399 445 860
PR 0 1116 2491 1250
RI 0 1934 6 89
SC 0 9423 228 490
SD 0 1814 47 140
TN 0 17745 371 892
TX 0 50573 811 3521
UT 0 16685 256 923
VA 0 19691 126 1174
VI 0 3 123 141
VT 0 1865 27 276
WA 0 30791 356 3502
WI 0 10941 159 402
WV 0 5168 424 807
WY 0 1657 47 393
Totals 0 709819 15800 53311