One of the new features included in the latest release of GeoCommons is geocoding. Previous releases have provided the ability to upload non-spatial data (such as CSV files) and walk through a wizard-like interface to join that data with existing spatial data sets already in GeoCommons. This latest release brings the FortiusOne Geocoder to bear to give you the ability to upload data containing US addresses and generate point locations. In my opinion, this is a very powerful addition to GeoCommons.
So, I decided to give it a spin. Since GeoCommons is open to the public, I decided to use some data that I wouldn’t mind making available. I went to the Wawa web site and made a CSV of the Wawa stores in my county (there are only five). These are locations that are well-known to me so they suited my purposes. It’s a truism that even the best geocoders generally yield the “mailbox location” of the addresses fed into them. This becomes fairly obvious is in rural areas such as where I live.
So, here’s the CSV I started with:
city,zip,store,address,state
“Lexington Park”,”20653″,”579″,”21265 Great Mills Road”,”MD”
“Mechanicsville”,”20659″,”583″,”27605 Three Notch Road”,”MD”
“Lexington Park”,”20653″,”587″,”22530 Three Notch Road”,”MD”
“Charlotte Hall”,”20622″,”588″,”30320 Three Notch Road”,”MD”
“California”,”20619″,”592″,”23141 Three Notch Road”,”MD”
After I logged into GeoCommons, I went through the upload process like so:
First, I clicked “Upload Files” and navigated to my CSV.
Once it was uploaded, I clicked “Next” to start processing.
After I clicked through an intermediary screen, I was brought here, where I chose the “Geocode” option.
GeoCommons recognized my address columns so I just chose “Continue.” Otherwise, I could have customized the processing.
Then, it worked for a while (maybe a minute) and then showed me the geocoding results. You will see two new columns added to the data, those are explained in the GeoCommons API docs.
After this, I edited the metadata and my data set was geocoded. Here is a link to the resulting KML: http://geocommons.com/overlays/66341.kml
And the results? As I said, living in a rural area can play games with geocoders. We have farms with very large road frontage as well as houses set as much as a half-mile back from the road. It’s very hard to get an exact location. I don’t have screen shots (because I don’t want to risk running afoul of anyone’s license), but I will say that in each case, GeoCommons was an exact match or closer to the corresponding result in Google Maps.
I will need to run more tests with more diverse data, but these results were encouraging with data that I know well. Additionally, the FortiusOne geocoder is open-source software. This means that I can set it up (with supporting data) inside the environment of a customer who may not want to make their data public and potentially achieve similar results.
I will definitely be playing with this more but it made a good first impression, especially given the simplicity of the process.
Thanks for the info, Sean. I was not aware of the ability to use NAVTEQ. That’ll certainly be helpful at many of the sites I work with who are already using it.
Great work!
Thanks Bill – appreciate you checking out the geocoder. We have some enhancements in the queue, and great to hear it is working well for you. You can also load NAVTEQ into the geocoder if you need international support. Ultimately we’d like to hook it into OpenStreetMap and a few folks have been playing around with that. Also there is a Google group for it here – http://groups.google.com/group/geocommons-geocode/topics – and the code is available here – http://github.com/geocommons/geocoder/tree/master .
best,
sean