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 2271 117 1157
AL 0 11577 293 637
AP 0 2 126 7
AR 0 7470 141 705
AS 0 0 4 17
AZ 0 19693 361 1945
CA 0 96909 1032 9447
CO 0 17794 258 1386
CT 0 7359 59 315
DC 0 509 1 29
DE 0 1761 9 69
FL 0 42351 302 1856
GA 0 18010 646 972
GU 0 3 137 125
HI 0 2903 127 946
IA 0 6269 118 273
ID 0 8345 337 1110
IL 0 19485 351 756
IN 0 15126 340 545
KS 0 7051 94 371
KY 0 8891 464 535
LA 0 5887 125 391
MA 0 13163 40 796
MD 0 11059 64 419
ME 0 4103 40 544
MI 0 20640 477 717
MN 0 11422 97 407
MO 0 14093 908 782
MP 0 1 56 171
MS 0 4753 375 358
MT 0 3351 61 741
NC 0 20857 179 1380
ND 0 1434 47 136
NE 0 3610 96 184
NH 0 5167 59 517
NJ 0 13321 139 541
NM 0 5748 150 903
NV 0 7589 137 832
NY 0 26400 169 1661
OH 0 27485 355 818
OK 0 8311 1094 835
OR 0 18361 241 2286
PA 0 23610 446 867
PR 0 1112 2502 1252
RI 0 1950 6 90
SC 0 9549 249 495
SD 0 1836 48 142
TN 0 18061 408 904
TX 0 50931 859 3551
UT 0 16958 262 931
VA 0 19870 138 1190
VI 0 3 119 142
VT 0 1870 30 278
WA 0 30819 363 3493
WI 0 11022 169 409
WV 0 5216 408 791
WY 0 1689 46 405
Totals 0 715030 16279 53562