Recently, I saw a question come across one of the many GIS email lists I am on asking about whether or not the spelling sensitivity setting in an Address Locator also worked with addresses located using names and a Place Name Alias table in ArcGIS. This question intrigued me because though I have done my share of geocoding over the years, I have not used place name aliases much. I was unsure how this would work so I decided to do some testing. Here is what I did.
I have a geocoding demo data I have been using for years in the ArcGIS Desktop classes I teach. I know this data works and the results it generates when I run it through the geocoding process in ArcGIS. So I started with this information which includes:
- dBase table of sex offenders including name, address, and offense (entirely made up)
- Road centerline feature class with address ranges
- Address locator based on Centerline Feature Class
This provided a good starting point for testing but as you can see the address table does not contain any place names. It only has street addresses. It did however provide the control I needed for testing. Having used this table as a geocoding example, I knew exactly how it behaved. I needed to change things up a bit within the table. I needed to edit records so that a few would reference places by name instead of address.
So I created a copy of the address table and named it crimes.dbf. In this new table I edited a few records so that they referenced a place by name. So I could test for spelling sensitivity settings, I varied the spelling of the place slightly as shown in the figure below. As you can see Walmart is spelled three different ways.
Next, I needed to create a table containing the place names associated with it address. So I created another new table in my geodatabase called places. This table contains five (5) fields:
In the table I created records for several locations within my test area as shown in the figure below. You will note I include more than just Walmart in this table. This allowed me to try to locate several places by name using the Georeferencing toolbar to ensure the table place table worked.
With all the tables I needed in place and containing the required data, I next had to edit my existing address locator to include the Places table I had created as the Place Name Alias Table. This was easily accomplished using the Geocoding Toolbar and Managing Locators. All I had to do was update the options. Now I could begin testing.
First step was to test locating a location by place. To do this I opened the Geocoding toolbar and typed several of the names listed in the Places table into the <Type an address> window. Each one worked without a flaw.
Next step was to actually geocode the Crimes table I created which include a place name. I needed to do this several times adjusting the Spell Sensitivity with each to see if there was a difference in the result. First attempt I used the default sensitivity setting of 80. This resulted in two unmatched addresses with place names, Walmrt and Wal Mart.
I ran the geocoding process four more times gradually decreasing the sensitivity to zero (0). Each time the results were the same. The two records in the Crimes table with Walmrt and Wal Mart would not match. I also tried adjusting the Minimum candidate score and Minimum match score to see if these would have any impact on the result. They did not.
Results & Findings:
It appears that when geocoding within ArcGIS the Spelling sensitivity setting has no effect on achieving matches if the location you are trying to identify is called out by a place name instead of an address. The name in the address table must match the spelling in the Place name alias table exactly or it will not generate a match. However capitalization does not seem to matter based on my testing.