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 2250 117 1153
AL 0 11587 296 640
AP 0 2 126 7
AR 0 7478 146 699
AS 0 0 4 17
AZ 0 19751 359 1948
CA 0 96756 1034 9432
CO 0 17865 262 1381
CT 0 7341 61 315
DC 0 510 1 29
DE 0 1762 9 69
FL 0 42357 306 1850
GA 0 18039 649 964
GU 0 3 137 125
HI 0 2905 127 941
IA 0 6282 121 274
ID 0 8378 342 1105
IL 0 19497 353 759
IN 0 15156 348 551
KS 0 7058 97 373
KY 0 8897 469 532
LA 0 5892 126 390
MA 0 13162 40 798
MD 0 11097 66 419
ME 0 4111 41 547
MI 0 20647 484 719
MN 0 11434 98 408
MO 0 14085 918 782
MP 0 1 56 172
MS 0 4735 377 359
MT 0 3368 60 746
NC 0 20900 180 1383
ND 0 1436 48 135
NE 0 3608 97 185
NH 0 5174 59 517
NJ 0 13317 140 538
NM 0 5754 149 908
NV 0 7598 136 826
NY 0 26403 173 1661
OH 0 27476 358 822
OK 0 8306 1099 830
OR 0 18388 240 2278
PA 0 23582 451 869
PR 0 1112 2507 1249
RI 0 1936 6 91
SC 0 9552 251 491
SD 0 1845 47 143
TN 0 18132 411 902
TX 0 50942 876 3567
UT 0 16988 261 936
VA 0 19879 137 1193
VI 0 3 122 148
VT 0 1870 30 280
WA 0 30844 360 3509
WI 0 11016 175 407
WV 0 5221 405 786
WY 0 1688 47 401
Totals 0 715376 16395 53559