Reverse Geolocating points

287
3
Jump to solution
09-01-2021 08:03 AM
3CDCOrganizationalAccount
New Contributor III

I am trying to reverse geolocate addresses from geopoints generated from Survey123 forms. I found a blog that reviews how to use reverse geolocation in survey 123, but when I tried it the new address field did not update. For reference, I put  pulldata("@geopoint",${location},"reversegeocode.address.Match_addr", ${companyLocator}) under the calculations column. The survey did not respond with an error when saved.

0 Kudos
1 Solution

Accepted Solutions
Philip-Wilson
Esri Notable Contributor

Hi @3CDCOrganizationalAccount,

Thanks for sharing your XLSForm. Having a look at the xlsx file, it appears you first created this on the website (web designer) and are now using Connect? Was there any reason for this?

I do not see any reverse geocoding calculations in the Form 3.xlsx file or Businesscheck_Form.xlsx contained in the ZIP file. Which form are you are using and modifying? And which question/field are you trying to update with geocoded address?

Can you provide the exact user workflow you are wanting to achieve? For example, do you want the user to select a point on the map in the geopoint (or use their current GPS/network location) and from that geopoint (lat/long) do a reverse geocode to get the geocoded address? If so then using the following will work:

pulldata("@geopoint",${location},"reversegeocode.address.Match_addr")

In this case, the default locator service for your organization will be used. However if you have a specific locator service you want to use (not the default one in your org), you need to use the additional parameter with the URL of the locator:

pulldata("@geopoint",${location},"reversegeocode.address.Match_addr", ${locatorURL})

If the service is secured, or the survey is intended for public users, a proxy item must be configured with access credentials saved in it.

I added a text question to your xlsx file and used the above pulldata() example, and it works as expected. See below screenshot. When I select a point on the map, the text question is updated with the geocoded address. I am using the default locator service (ArcGIS World Geocoding Service).

PhilipWilson_0-1631077570207.png

Hope this helps,

Regards,

Phil.

View solution in original post

3 Replies
Philip-Wilson
Esri Notable Contributor

Hi @3CDCOrganizationalAccount,

Can you confirm what version of Connect and field app you are using, and on what OS you had this issue, or does it happen on all OS and devices? Also are you using ArcGIS Online or Enterprise?

Please share your XLSForm (xlsx file and any associated media files) so we can take a closer look at how you have configured your survey?

Has reverse geocoding worked for you in the past in Survey123, is this a new issue? Note that reverse geocoding only works when the device is online (has network connection) and connection to company portal.

You can find a link to documentation here for Survey123 and reverse geocoding:

https://doc.arcgis.com/en/survey123/desktop/create-surveys/geopoints.htm#ESRI_SECTION1_E89036D9C34D4...

Regards,

Phil.

0 Kudos
3CDCOrganizationalAccount
New Contributor III

Here is a copy of the files I was using. I am new to using Survey123 and have not done this before so it is probably just me doing something incorrect. I am connected online and have a company portal.  I believe I am running version 3.12.232 and am using ArcGIS Online.

0 Kudos
Philip-Wilson
Esri Notable Contributor

Hi @3CDCOrganizationalAccount,

Thanks for sharing your XLSForm. Having a look at the xlsx file, it appears you first created this on the website (web designer) and are now using Connect? Was there any reason for this?

I do not see any reverse geocoding calculations in the Form 3.xlsx file or Businesscheck_Form.xlsx contained in the ZIP file. Which form are you are using and modifying? And which question/field are you trying to update with geocoded address?

Can you provide the exact user workflow you are wanting to achieve? For example, do you want the user to select a point on the map in the geopoint (or use their current GPS/network location) and from that geopoint (lat/long) do a reverse geocode to get the geocoded address? If so then using the following will work:

pulldata("@geopoint",${location},"reversegeocode.address.Match_addr")

In this case, the default locator service for your organization will be used. However if you have a specific locator service you want to use (not the default one in your org), you need to use the additional parameter with the URL of the locator:

pulldata("@geopoint",${location},"reversegeocode.address.Match_addr", ${locatorURL})

If the service is secured, or the survey is intended for public users, a proxy item must be configured with access credentials saved in it.

I added a text question to your xlsx file and used the above pulldata() example, and it works as expected. See below screenshot. When I select a point on the map, the text question is updated with the geocoded address. I am using the default locator service (ArcGIS World Geocoding Service).

PhilipWilson_0-1631077570207.png

Hope this helps,

Regards,

Phil.