Crystal Clear Insight on Geocoding

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:

  1. Get the address.
  2. Search for the street name in the database.
  3. Gather all the line segments associated with that street.
  4. Search for the address range among the line segments.
  5. 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 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?

STI: Events

STI: PopStats Research Conference
Mar 27-29, 2017
Austin, TX



ICSC RECon 2017
May 22-24, 2017
Las Vegas, NV
North Hall, Booth N1528