A computer-readable medium on which is stored a computer program for identifying the geographic region of a geographic area which contains a geographic point associated with a location, said geographic area being divided into a plurality of geographic regions, comprising instructions which, when executed by a computer, perform the steps of:
- A. receiving an address for said location;
- B. making an address determination as to whether said address is associated with an address match candidate, said address match candidate corresponding to a first geographic point;
- C. if said address determination determines that said address is associated with said address match candidate, then selecting said first geographic point as said selected geographic point;
- D. selecting one of said plurality of non-overlapping geographic regions as a selected region, said selected region being defined by a boundary of a plurality of boundary points;
- E. making a determination as to whether said selected geographic point is located within said selected region by
- drawing a line of predetermined slope through said selected geographic point and through said selected region so that said line intersects a first boundary point of said selected region and a second boundary point of said selected region, and
- checking whether said selected geographic point lies on said line between said first boundary point and said second boundary point;
- F. if said selected geographic point lies on said line between said first boundary point and said second boundary point, then defining said determination to be that said selected geographic point is located within said selected region;
- and
- G. if said determination determines that said selected geographic point is located within said selected region, then identifying said selected region.