Accessing Custom Locator Output Fields in Locator Service

715
6
05-03-2024 05:48 AM
JCGuarneri
Frequent Contributor

I'm experimenting with custom output fields in locators. The locator I create on desktop returns the field as expected. However, when I publish it as a locator service, the field is not returned (Enterprise 11.1). I don't see it as an option when configuring in experience builder, nor do I see it when I look in the rest endpoint. Is this functionality just not available? Or are there other steps I need to take?

My end goal is to be able to search for our Utility Customers by address using our custom locator, then select the related asset based on the Account.

Here it is in Pro:

JCGuarneri_0-1714740952285.png

And absent in the config options in Experience Builder:

JCGuarneri_1-1714741060537.png

 

0 Kudos
6 Replies
ShanaBritt
Esri Regular Contributor

@JCGuarneri Are you able to show the result from the REST endpoint where you specify an asterisk for the Out Fields parameter in the findAddressCandidates form? The custom output field should be listed in that request result.

 

The fields listed in the Experience Builder screenshot look like the input address fields and not the candidate or output fields.

 

-Shana

0 Kudos
JCGuarneri
Frequent Contributor

Unfortunately, I get a 400 error:

{
 "error": {
  "code": 400,
  "extendedCode": -2147467259,
  "message": "Unable to complete operation.",
  "details": [
   
  ]
 }
}

I haven't done much testing of locators from the REST endpoint, so I'm not sure if it's something I'm doing wrong or an issue with my deployment.

The trigger fields from the locator are supposed to be from the Outputs of the locator per the Experience Builder set up, but it may be using the term "output" differently than the Locator.

0 Kudos
ShanaBritt
Esri Regular Contributor

Can you show me the REST endpoint form page that gave you the json result so that I can see what the inputs were for the parameters?

0 Kudos
JCGuarneri
Frequent Contributor

OK, so  I tried Find Address Candidates instead, and that worked. It does spit out the Account field. I guess the trick is getting Experience Builder to see it.

0 Kudos
JCGuarneri
Frequent Contributor

Here's what I put in. I used the "POST" option.

JCGuarneri_0-1715252820712.png

 

0 Kudos
ShanaBritt
Esri Regular Contributor

@JCGuarneri ,

There is a specific syntax you need to use for the geocodeAddresses operation via REST endpoint and you were not using it, which is why you received the error. Here is an example of the correct syntax, https://developers.arcgis.com/rest/services-reference/enterprise/geocode-addresses.htm#ESRI_SECTION1....

The custom output fields are fields that are returned in the geocode result and not input address fields. You would not see the field listed as an input field in the batch geocoding tools in ArcGIS Pro. Based on your current Experience Builder setup from your screenshot, if you searched for a customer's address the result would include the account number. Since the account number is an attribute in the the data used to build the locator, you could build a multirole locator using the PointAddress or StreetAddress role for your existing data, then add the POI role using the existing data and just map PlaceName to the Account number field.  Then when you use the locator as a service you can enter either the customer address or the account number in the 'Address or Place' field.

https://pro.arcgis.com/en/pro-app/latest/help/data/geocoding/combine-multiple-layers-into-a-single-l...

https://pro.arcgis.com/en/pro-app/latest/help/data/geocoding/tutorial-create-a-multirole-locator.htm

https://pro.arcgis.com/en/pro-app/latest/help/data/geocoding/introduction-to-locator-roles.htm#ESRI_...

 

0 Kudos