At State of the Map today in Amsterdam I announced that we were open-sourcing our geocoder. You can get the LGPL-licensed code on GitHub and also check out my lightning talk presentation announcement on Slideshare.
The geocoder was built as part of our FGDC CAP Grant to help GeoEnable Government Tabular Data and utilizes the free and open TIGER/Line street data as well as various address parsing and metaphone components for US level address parsing. Also, not everyone can call to a web-service, abide by the terms of service, or be limited by the speed and amount of geocoding queries.
The reason we’re open-sourcing it because primarily an open-source geocoder has been a sorely missing piece of the open-source geospatial stack. You have storage, analysis, rendering, geolocation, and even routing – but not geocoding, at least not in an active project way. GeoCoder::US has been around for a long-time and well built, in Perl, and despite it’s long-standing solid service at geocoder.us, it didn’t fit our needs.
So instead we worked closely with Schuyler Erle, one of the original developers of GeoCoder::US, to rebuild it in a modular way (in fact he finished it once and promptly rebuilt it again), and also in a popular, modern language, Ruby(that we happen to use as well).
We’re also hoping to engage the community in building out the Geocoder. Right now it has components for the United States – but we hope that others will add components for their countries. OpenStreetMap is coming along very well with adding both ranged, and even parcel level, address data. So a good first task would be to build out an OpenStreetMap data importer.
Feel free to check out the code on GitHub – fork it, let us know what you’re working on, any issues you run into, and how we can make the best, and open-source, geocoder out there. Look forward to more detailed posts on how we built it and how we’re using it in GeoCommons and GeoIQ.