Skip to main content

July 2025

I've refactored the frontend Javascript into more modern code. It was kind of old style and hard to follow before and I've learned a lot since I wrote it originally. It's also been updated to the latest Google Maps components which needed a few code changes.

Nothing much has changed for the end user but I did make a few tweaks along the way.

  • When a location marker has multiple stations at that location, the callsign shown on the marker is the first on the list which is displayed in the popup when you click on the marker. They are now sorted by license class with the higher classes at the top. e.g., Extra comes before General. This is an attempt at making the callsign on the marker be the most likely active ham. I know it's making an unproven sweeping assumption but if there is an extra and a technician class at the same address, I think the chances are pretty good that the extra is likely to be the most active and have the more recognizable callsign.
  • I've made some attempt at cleaning up multiple addresses at the same location and therefore shown on the same popup. Some addresses in the FCC data are in all upper case letters and some are in nicer proper case. When there are two or more hams at a location with both types of addresses, they were listed as multiple different addresses. It now detects this and shows only the proper case version.
  • It normalizes the common abbreviations so "Street" becomes "St" etc when they are at the end of the address line.
  • The popup only shows 5 digit zip codes.

Those last three enhancements will hopefully make many multi-ham popups smaller by eliminating a lot of multiple "different" addresses which are really the same. There are still plenty that at first sight look like duplicates but if you look closely they always have a minor variation. It's often a spelling typo.

November 2024 update

Time certainly flies when you're not looking. This site has been running pretty much unattended for over six years. It was well overdue for an update to the underlying backend. I'm pleased to report that it's now running on a new server with the latest versions of Ubuntu Linux, Drupal, PHP, MySQL etc. This should hopefully last for another few years without much attention. There's no new functionality other than a minor reorganization of pages and the menu at the top.

Thanks for the all feedback over this time.

March 2018

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. The code is all on Github 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 ross (at) earthbubble.com

73
Ross  KT1F