[OSGeo-Discuss] The existence (and value of) "clean" geocoding tools?
woodbri at swoodbridge.com
Wed Sep 24 21:44:06 PDT 2008
David Dearing wrote:
> Hi. I just recently stumbled across OSGeo and have poked around to try
> and get a feel for the different projects, but still have a lingering
> question. Forgive me if this isn't the appropriate channel to be asking
> It seems that there is a solid focus on mapping, image manipulation, and
> geometric processing at OSGeo. And, in the more broad world including
> non-open source projects, there are a lot of tools available for the
> mass production of geotagged or geocoded documents. However, the
> accuracy of these systems, while good, doesn't seem sufficient when
> accuracy is at a premium (from what I've seen they tend to focus on
> Are there any existing tools that can be used to tag/code documents,
> perhaps sacrificing the mass-produced aspect for better accuracy? Have
> I just missed/overlooked some existing tool(s) that meet this
> description? Or, am I in the minority in wanting to produce fewer
> "clean" geocoded/tagged documents rather than many "pretty good" documents?
Have you looked at http://ofb.net/~egnor/google.html
Geocoding is NOT exact, in fact it deals with a very messy area of
natural language parsing. While it is constrained more than free text,
it still has to deal with all the issues of typos, abbreviations,
punctuations, etc and then it has to match the user into to some vendor
For example: matching AL 44, Alabama 44, AL-44, Alabama Highway 44,
Highway 44, State Highway 44, Rt 44, and various other abbreviations for
Highway, simple typo errors, adding N, N., North, S, S., South, etc
designations to the Highway, adding Alt., Bus., Byp., etc and on it
goes. You also need to deal with accented characters, that are sometimes
entered without accents.
In a geocoder, you typically have a standardizer that sort our all that
craziness. Then when you load the geocoder, you standardize the vendor
data and store it in a standard form. When you get a geocode request you
standardize the incoming request and then try to match the standard form
with the vendor data which is also in standard form. As an alternative
to a standardizer some geocoders use statistical record match techniques.
You can also you techniques like metaphone/soundex codes to do fuzzy
searching and then use levensthein distance to score the possible
matched results for how close they are to the request.
You need to be prepared to handle multiple results to a query, for
example you search for Oak St. but only find North Oak Street and South
And all this can only happen after you have tagged some text in a
document if you are doing tagging. You mention accuracy is important,
well how do you determine what is "right", remember the Oak St example
Anyway this is a good place to discuss this topic.
More information about the Discuss