Create Locator, additional options when creating

1925
15
06-27-2022 02:56 PM
Status: Open
Labels (1)
feralcatcolonist_old
Occasional Contributor II

Currently, the Create Locator Tool does not allow you to set up options during its creation. This has the tendency to create gotchas, or additional unnecessary clicks after re-running a creation task.

Exposing all/some of the locator properties during geoprocessing creation prevents this redundant work for locators that must be recreated frequently.

Specifically:

Match scores

Intersection Connectors

Match with no zones

Suggestions for partial subaddresses

feralcatcolonist_0-1656366842750.png

 

15 Comments
ShanaBritt

@feralcatcolonist_old Most of those locator properties can be set programmatically using the Python Geocoding Module. https://pro.arcgis.com/en/pro-app/latest/arcpy/geocoding/locator-class.htm#P_GUID-B617A31C-2B5E-427F...

If you open the History pane from the Analysis ribbon, you can right-click the previously run Create Locator tool that created the locator and select Save as a Python script, which can help you automate the process if you are familiar with writing scripts using ArcPy and Python.

feralcatcolonist_old

I can definitely do that the Python way and super happy to know that's an option! For the non-Python folks in the Esri-verse I think it would be a great addition to have a collapsible "advanced options" area within the GP tool dialogue.

feralcatcolonist_old

@ShanaBritt, it doesn't look like the "match with no zones" attribute is exposed in the Locator class, can you confirm?

feralcatcolonist_0-1660610466833.png

 

 

ShanaBritt

@feralcatcolonist_old That is correct the "Match with no zones" property is not available in the Python Geocoding Module. However, I'd like to get a better understanding as to why you need to use it. Where will the locator be used? How will the locator be used (batch geocoding a table or single address searches in Pro, MapViewer, or some other app)?

The property is a legacy property designed for locators that did not support suggestions before ArcMap 10.3 and locators built in Pro with either the Create Locator or Create Feature Locator tool automatically support suggestions so that as you type the address or place you are presented with suggestions to choose from and select to take you to the location. 

feralcatcolonist_old

@ShanaBritt, our locator uses the address and road centerline roles and contains information for our municipality, county, zip codes, etc. Additionally our locator contains information about neighboring municipalities in a buffer around our own.

We've found that the results are significantly improved with match outside of zone; otherwise a user must type in all the comma separated information like city, county, zip for appropriate results. I'm unsure why this is the case, for the longest time I thought our geocoder was broken until I started using this setting.

ShanaBritt

@feralcatcolonist_old If the locator is being used in what sounds like a geosearch scenario where someone just types the address, they should be getting suggestions for addresses that show the zone information and then they would just select the suggestion. So if the locator is built with zones (municipality, county, zip codes) the default setting is 'No' for 'Match with no zone'. If the locator is used in the Locate pane of ArcGIS Pro or the MapViewer, when the user starts to type the address w/o the zone suggestions are displayed. The suggestions returned are based on location and the center of the map is used for location is no zone is included. If the locator is used as a service the location parameter should be included in the requests.

If the locator is used for batch geocoding, the zone is required in the address in order to get results returned with the default setting for the locator you are creating. Batch geocoding does not make use of location, the location comes from the zone. We recommend batch geocoding with at least one zone or using suggestions if you are entering an address w/o zone when the locator supports zones.

Are your users using the locator in ArcGIS Pro? MapViewer? Mobile App?

-Shana

feralcatcolonist_old

The main use case for us is within our Cityworks application, so users will input an address or multiple addresses within their web mapping application (or through the mobile respond application) and it sends a call to the geocode service which then provides them options to select.

 

There are some areas where a person may not know specifically which zone they are in (especially newer employees) so it not always feasible to specify the zone. And when we are batch geocoding with data provided from our regional partners sometimes we are only provided with the first line of an address and need to be able to find likely matches around us (no rules on similarly named streets between neighboring municipalities.

ShanaBritt

@feralcatcolonist_old Do you know what request is used in the application that is sent to the geocode service, findAddressCandidates or geocodeAddresses? You may need to use Fiddler or something like it to see the contents of the requests, but if location was included in the request I suspect they should get suggestions returned from the service. I don' t have any experience with Cityworks to know what's going on behind the scenes.

feralcatcolonist_old

@ShanaBritt, it looks like the request is being routed through the Cityworks application server so it is obfuscated from the client. This is what the tail-end looks like searching for an address:
250 W FIRST ST

<Geocode/LocationsFromAddress?data=%7B%22Address%22%3A%22250%20W%20FIRST%20ST%22%2C%22City%22%3A%22%22%2C%22State%22%3A%22%22%2C%22Zip%22%3A%22%22%2C%22MaxResults%22%3A20%7D HTTP/1.1>

Without having the match outside of zone options, when you search the same location (250 W FIRST ST) you will return 0 results. In order to return any results, you have to append almost the entirety of the municipal name. One of those results is the address without the municipal name, which will not match 1:1 in the search bar as noted above.

feralcatcolonist_1-1661109987094.png

So although the toggle might be a legacy function, it is absolutely necessary for faster, better matching searches (within Cityworks at least).

 

 

ShanaBritt

@feralcatcolonist_old Does the Cityworks app not show suggestions the same way that ArcGIS Pro does?

If your locator built with zone and 'match with no zone' set to the default of 'No' is used in ArcGIS Pro Locate pane, do you get suggestions when you enter '250 W First'? Also are zones specified for each role in the field mapping for the locator? You should have a zone assigned to each role in the multirole locator. It looks like from the screenshot that one candidate includes zone while the other does not. I cannot tell which candidate is coming from the PointAddress role or the StreetAddress role. I believe the lacking of zone for one of the roles is the cause of the behavior you are seeing when 'Match with no zone' is set to 'No'.

It is possible to build a locator w/o zone and use it to batch geocode addresses w/o zones, in this case the default 'Match with no zone' property is set to 'Yes'.