[OpenLayers-Users] Geocoding

Paul Spencer pagameba at gmail.com
Wed Oct 14 17:53:31 EDT 2009


This isn't a direct answer, rather I'm answering why services may be  
different and providing some guidance on geocoding based on my  
experience.  Don't read on if you don't care about that.

The short answer is that differences in location returned by different  
geocoders probably depends more on the data source being used by the  
geocoder than the geocoder itself.

Address parsing aside, geocoding is actually a fairly straight forward  
process that probably uses one of two techniques:

technique 1: linear interpolation

* find the record that matches the requested street (a lot goes into  
identifying the correct street, let's leave that out)
* find a segment of the street with a start and end address that  
contain the requested street number
* find a point on the segment equivalent to where the requested number  
is between the start and end of the line

What is typically different here between geocoders (assuming they find  
the same street) is the quality of the street number data (is it  
there, is it correct, is it the right way around, is it associated  
with the correct side of the street for odd/even etc) and the quality  
of the geographic line segment that represents the street.

Some services might also use some heuristic data for adjusting the  
interpolated location from being straight linear interpolation to  
something (that may be) more accurate.

technique 2: exact location

if you have tax lot/parcel/cadastral data then you can find an exact  
match on a street address to a parcel associated with that address and  
return the centroid of the parcel (perhaps snapped to the appropriate  
street segment).


The other component of a typical geocoder is its ability to parse an  
address and match it to a street segment.  This can involve a lot of  
complicated steps and has to accommodate a seemingly infinite number  
of ways that addresses can be written, missing address components, mis- 
spellings of all parts, incorrect information such as incorrect zip  
code or wrong street type, and more.

You need to evaluate geocoders on a couple of parameters:

* what is the source data they are using and how 'accurate' is it?

* is it accurate enough for you vs what you are paying for it? (a  
commercial data set might be arguably more accurate than a free one  
for instance)

* given how your addresses are expected to supplied, how well does  
each service parse the address, accommodate missing, incorrect or mis- 
spelled data and ultimately map that to the right address  
(disregarding actual accuracy of the address)

Typically, if you are mapping results of geocoding, you will also want  
to ensure the geocoder is using the same source data as for generating  
the maps to minimize the visual impact of differences in the quality  
of the actual street vector data.  In the end, this is usually more  
important than the physical accuracy for many use cases.

Cheers

Paul

On 2009-10-14, at 5:21 PM, David Lozzi wrote:

> Hello,
>
> What service are you using to geocode your addresses? I’ve looked at  
> a couple and I’ve been getting different results per set.
>
> Thanks,
>
> David Lozzi
> Product Development Manager
> Delphi Technology Solutions, Inc.
> (978) 988-8007 x204 - www.delphi-ts.com
>
> Blog  -  LinkedIn  - Twitter
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users




More information about the Users mailing list