When we first heard about geocoding, we thought it had something to do with
classifying those interesting round rocks that people cut in half to expose
pretty crystals. Well, as it turns out, that's not geocoding after all.
Geocoding, sometimes referred to as address matching, is the process of
associating a data value with a position on a map. Usually the data value is an
address and the place on the map is a street. For a practical understanding,
let's walk through the steps of address matching -- a fairly simple process, as
it turns out:
- Get the address.
- Search for the street name in the database.
- Gather all the line segments associated with that street.
- Search for the address range among the line segments.
- Once you are given the line segment that contains the correct address range, mathematically interpolate a
position along the street line segment based on the relative measurement of the
address to the range.
Got it? Of course, it's step five that seems to mystify most people. (I guess
because it involves fractions!). All right, let's run through it again using a
practical example. Suppose the address in question is 450 Main Street. When we
look up Main Street, we find the 400-498 block. Since the number 450 is halfway
between the range, we'll place the point halfway down the line segment.
Similarly, if the number was 434, we would place the point one-third of the way
down the line segment. How about left and right sides of the street? That's
easy. A street file record contains address ranges based on whether the street
numbers fall on the left or right side of the line segment. Perhaps you've
noticed in a street file the database fields: "FromLeft," "ToLeft,"
"FromRight," and "ToRight." But how do you know which side is left? Well,
every line has one starting point and the system assumes that you are standing
on the starting point looking down the line segment (and that you know your
right from your left!).
The real trick to address matching is not interpolation, it's the street name
searching. Unfortunately, a street name's spelling and the typing of it are
subject to error and misinterpretation. For example, is it 450 Main Street
North or 450 North Main Street? Just like the spell checkers in word
processing programs, the address matching program needs to know exactly what you
want before it can find it. This is a very difficult dilemma! Entire fields of
mathematics revolve around this searching problem. So, the next time you do a
little geocoding, you now have a better idea of what's going on -- and what's
not going on -- behind the scenes. Now, does anyone know where we can get a
rock cut in half?
|