AGOL ignores minimum match score in geocoding service

380
6
09-01-2021 07:32 AM
HeatherScroggins
Occasional Contributor

I noticed this issue when someone pointed out that a lookup app had geocoded an address inside of city when in reality that address was actually in a different city.

The address in question was 449 Harris Street. We don't have a Harris Street in our city.

It took me some trial and error but I figured out (using just a blank map in AGOL) that for some reason the geocoder was matching to a Burger Street that was in the Place Name locator. When trying 449 Harris St (instead of Street) it geocoded to a Wallis State Bank. You can see pictures of this happening below.

My issue is that this doesn't happen in either ArcMap or ArcPro. When locating 449 Harris Street (or St), it pulls nothing like it should. So why is it pulling items from the Place Name locator in AGOL?

For reference: it is a geocoding service published from ArcMap 10.7 to ArcGIS Server 10.7.1. It is a composite locator that includes dual range, place name, site address, and street name locators.

449HarrisSt.JPG449HarrisStreet.JPG

Edited to add:

I figured out that if I check the 'Show all candidates' in the Locate tool in Pro, it does list Wallis State Bank as a candidate for 449 Harris St. But the match score is only 64 which is why it normally ignores it.

So the question becomes, why is AGOL ignoring the minimum match score in the geocoder?

449HarrisSt_2.JPG

 

Update 9/9/2021: I am still having issues with this. Any ideas of how to fix this would be appreciated.

0 Kudos
6 Replies
ShanaBritt
Esri Regular Contributor

Do you get the same behavior when you access the findAddressCandidates operation at the REST endpoint for the composite geocode service and enter the address? For the output fields I would include Loc_name and Addr_type so you can tell which locator the candidate is from and the match level.

0 Kudos
HeatherScroggins
Occasional Contributor

I don't think I've ever used this so I apologize if I did it wrong. But I went to the geocoder REST service, clicked the 'findAddressCandidates' at the bottom of the page and then put my address in the Street field. I changes the 'Match out of range' to 'False' and then clicked the 'GET' button. These were the results.

It still shows the Wallis State Bank with a match score of 64.

HeatherScroggins_0-1634567586743.png

 

0 Kudos
ShanaBritt
Esri Regular Contributor

Heather:

In the REST end point form for the findAddressCandidates enter Loc_name,Addr_type as the input for Out Fields in the form, then you can tell which locator is returning the candidates for '449 Harris St.' and '449 Harris Street'.

What locator style was used to create the PlaceNames locator? It looks like it possibly has a place name alias table associated with it.

Do you get the same or different results for the two addresses when you click the 'Show more results' link in the map viewer?

0 Kudos
HeatherScroggins
Occasional Contributor

Okay, I understand now. So putting those two fields in the Out Fields gets these results. It is pulling from the Place Name table.

HeatherScroggins_1-1634649539805.png

 

As for the locator style, it is the General - Gazetteer.

HeatherScroggins_0-1634649430077.png

When searching for 499 Harris St vs 499 Harris Street I get different results. 499 Harris St matches to Wallis State Bank with a match score of 64.28 and 499 Harris Street matches to Burger Street with a match score of 64.77.

 

0 Kudos
ShanaBritt
Esri Regular Contributor

Heather:

The Loc_name field tells you which locator in the composite the candidates are coming from.

Which locator is returning the match to Burger Street for the input of 499 Harris Street? Which locator in the composite are you expecting will have a match candidate for '499 Harris Street'? Should this address have a match based on the data used to build the locators?

What are the other results that are returned in the Map Viewer when you click the highlighted link in the screenshot? Are they the same candidates you get in the Locate pane with 'show all candidates' checked or from the REST endpoint?

ShanaBritt_0-1634763178410.png

 

Does the PlaceName locator have a place name alias table associated with it? You can see this in the properties when you select the Place name alias table page. 

Does the field mapping for the PlaceName locator include street info? You can see this in the properties on the Reference Data Tables page.

Is your overall goal to figure out why '499 Harris Street' is matching to Burger St and not Wallis State Bank? Based on the results returned in the REST endpoint form, the composite service is returning the same candidates as in the Locate pane when 'show all candidates' is checked 

I notice that the PlaceNames gazetteer style locator was based on the 10.2 version of the address locator style, are the other locators in the composite based on version 10.2 address locator styles? So many improvements have been made to the locator styles since 10.2 when compared to 10.7.1, have you considered recreating the locators in 10.7.1 or in ArcGIS Pro with the Create Locator tool? You would be able to create a single locator that referenced all of the data for the dual range (StreetAdress role), place name (POI role), site address (PointAddress role), and street name locators in your current composite locator.

0 Kudos
ShanaBritt
Esri Regular Contributor

@HeatherScroggins The minimum match score only applies to batch geocoding and does not apply to findAddressCandidates, which is what is used in the Locate pan in ArcGIS Pro and in the search box in the Map Viewer. The minimum candidate score is currently set to 10, which means that candidates that have a score 10 or higher will be returned as candidates and of those candidates the ones with a score of 80 or higher will be automatically matched when batch geocoding. 

0 Kudos