Geography 481: Intro to GIS
Project Eight: Address Geocoding

In the course thus far, the data for most of the exercises have been in a form that is readable by ArcMap.  However, there exists a vast quantity of useful information that needs some manipulation before it can be utilized by ArcMap.  One type of spatial data that we use frequently is the street address (e.g., 1234 S. Main St.).  Yes, this is spatially referenced data, but ArcMap does not understand this designation without some help. ArcMap prefers some sort of x,y coordinate for spatial data.  Wouldn't it be nice if there was some way to automatically convert street addresses to x,y coordinates? Well, there is... sort of.  The procedure is called address matching or geocoding.  I say "sort of" because geocoding is fraught with complications as you will see.  

In this project we will create a new layer (and shapefile) of points generated from their street addresses. Geocoding requires a pre-existing reference layer (usually streets) to serve as the base map and an address table containing the addresses you want to locate as points on a map.

Geocoding is a four-step process:

  1. The reference layer must be prepared for geocoding.
  2. The address table is prepared by identifying address fields.
  3. Addresses in the address table are compared to the reference layer using an Address Locator.
  4. Unmatched addresses must be processed again

Your task in this project is to prepare a layer to be geocoded and address match an existing file of hazardous materials locations.


Setup

The Streets layer will be our reference layer.

Now we need some addresses. We will be batch geocoding a list of addresses from a table/file. Although we have been using DBF files in class thus far, ArcMap can use Excel files, though with limited capability (and occasional "excitement"). Add the hazmat.xls as follows:

You have now added a table of businesses with their address information. Open it and take a look. Can you find the address information? How many different columns contain parts of the address for each record?


Building an Address Locator

An address locator is part of the larger geocoding framework. According to ESRI, the address locator "defines the techniques to be used by the geocoding engine in interpreting addresses against the rule base files." There are many variables and parameters that must be set for successful geocoding. The address locator is where these settings are maintained. Address locators are built in ArcCatalog.

Before we begin, we need to have a look at our reference layer. Open the attributes of streets table. Look at the different fields describing each street segment. The fields L_f_add and L_t_add contain the lowest and highest addresses on the left hand side of the street segment. Surprise! The fields R_f_add and R_t_add contain the lowest and highest addresses on the right hand side of the street segment.  Close the table.

Now that we know how the data are formatted in the reference layer (streets) and the table we wish to geocode (hazmat.xls), we are ready to build our address locator.

The address locator you created has a set of rules that makes the streets layer address matchable.


Address Matching Process

Proceed slowly and pay attention.

Voila!  The addresses from the hazmat.xls have now been given x,y coordinates.  Well, most of them anyway.


Re-Matching & Geocoding Preferences

The matching process does not always hit every single address. Typographical errors, missing addresses or other differences may not allow a complete match when geocoding. Interactive re-matching allows you to correct for some of these errors.

In this section you will interactively match the three addresses that were un-matched by doing the following:

Juniper is an incomplete address (it is missing ST NE)

10th ST NE has an incorrect zip code (it should be 30309)

Mirtel is a misspelling (it should be Myrtle)

Now you should have finished geocoding all of your addresses.

If no more records are listed in the top window, Close the Interactive Rematch dialog.

Many of these modifications can be adjusted before geocoding. This may be appropriate if the address database contains many spelling errors or the street directionals, suffixes or prefixes are missing. Unfortunately, this can be a common problem and very time consuming to fix.


Interactive Geocoding (without creating a layer)

If you only want to find a single address and do not need to create a new layer, you can bypass the matching process and use the Find Tool on the menu (it looks like binoculars) to find the address on the map. There must be a a valid address locator for this to work.

ArcMap places a point at the address location. This point is a graphic marker, just as if you had used the Add Graphic tool. It is not part of a layer (shapefile or feature class). If you want to create a point layer containing address locations and attributes of those locations, you should use the geocoding approach that you used earlier in this exercise.


On Your Own

Assume your house is located at 742 Durante Pl NE in the 30308 zip code. If I tell you that the data coordinates are decimal degrees of latitude and longitude, can you identify all facilities with hazardous materials located within one-quarter mile of your house?

Please produce a printed (PDF) map meeting the above criteria.  All cartographic conventions apply.


Last modified 11/09/2021