Amateur Radio Operator Map
Written 2015-02-12
I wrote a map of amateur radio operators in the United States of America and related territories. See it here!.
Tools:
- sqlite3 python bindings with rtree support - Rtrees are one of the family of spatial trees. Particularly, they handle range-queries on large amounts of points efficiently.
- web.py - turn your python program into a web server!
- gmaps.js - This looked like a simpler introduction than the raw Google maps APIs
- geopy - Geopy converts addresses into latitudes and longitudes
The general flow is first pull down a copy of the amateur radio section of the ULS. Extract it, and feed it into simple a sqlite3 table. Next, geocode all the addresses into an R-Tree(This is actually still in progress). Finally, serve them up with a web.py JSON API to generate a bunch of gmaps.js markers.
Code is available on github. A major rewrite is in order to fully parse all the data available on the ULS, like licensure and expiration dates, FCC registration numbers, and other information. Additionally, a versioning scheme needs to be implemented so that only differences between ULS dumps will be processed. Also, geocoding the 1.2 million addresses will take a long time unless I use a paid service or distribute the queries. Additionally, running JSON servers on port 8080 tends to confuse proxy servers, so that'll probably need a more advanced deployment.