How to select elements using a geoshape?

433
6
Jump to solution
07-27-2021 11:18 AM
Jcordovafredes
Occasional Contributor

Hi everybody

I have a question about this video: (58) Advanced XLSForm Techniques - YouTube

In the minute 32, in the exercise multiple layers of information are selected through a drawing, a circle to be exact. This procedure for me is very important, but I can't do it, no matter how much I follow the steps.

I want made the same but with own layers, in this case a water project.

In the columnappearance, I have: 

autocomplete search("ESVAL_GIS.Tabla_grifo?url=https://gistest.esval.cl/server/rest/services/Cuarteles/FeatureServer/0","intersects", "@geoshape", $(location))

my idea is to replicate the same thing you did

My questions is How can I do it, becauase maybe the error is in the syntax of the formula

I understand that the structure is the following:

<tablename>?url=<Layer REST URL> 

then what ​is the exact name of table of attributes? and where I get the url of the service?

I'm using Survey123 Connect and XLSForm

0 Kudos
1 Solution

Accepted Solutions
BrettStokes
Esri Contributor

Hi @Jcordovafredes ,

Just a reminder that you're not actually selecting any features by doing this. You're populating a choice list dynamically by drawing a search polygon.

You will be able to get this working in the 3.12 version of Connect, but I'd encourage you to install the 3.13 beta versions from the Early Adopter website that Doug linked above for testing. There is some documentation titled 'Dynamic Choice Lists' there that provides more details and some XLSForm examples for download.

Your syntax looks good apart from using normal brackets () instead of curly brackets {} when referencing your location question, ie it should be ${location}.

Also, the <tablename> (ie 'ESVAL_GIS.Tabla_grifo') is just a name for Survey123 to refer to the table as internally. This table name doesn't need to match the name of the hosted layer, but as this is how Survey123 internally refers to your search, must be different from all other table names and CSVs used in the survey.

Please send through your XLSForm if you continue to have problems and I can troubleshoot further.

Brett

View solution in original post

6 Replies
DougBrowning
MVP Frequent Contributor

Are you using 3.13 from the Early Adopter program?  Some of it works in 3.12 but not sure if all of it does.  Just a guess.

0 Kudos
Jcordovafredes
Occasional Contributor

I´m using Survey123 Connect and XLS Forms

0 Kudos
DougBrowning
MVP Frequent Contributor

Yea but what version, there are many versions of connect - look in About.  Most of this is still in beta so you need to sign up to get it at https://earlyadopter.esri.com/ 

0 Kudos
Jcordovafredes
Occasional Contributor

I have version 3.12.

Do you think it is a version problem?

0 Kudos
BrettStokes
Esri Contributor

Hi @Jcordovafredes ,

Just a reminder that you're not actually selecting any features by doing this. You're populating a choice list dynamically by drawing a search polygon.

You will be able to get this working in the 3.12 version of Connect, but I'd encourage you to install the 3.13 beta versions from the Early Adopter website that Doug linked above for testing. There is some documentation titled 'Dynamic Choice Lists' there that provides more details and some XLSForm examples for download.

Your syntax looks good apart from using normal brackets () instead of curly brackets {} when referencing your location question, ie it should be ${location}.

Also, the <tablename> (ie 'ESVAL_GIS.Tabla_grifo') is just a name for Survey123 to refer to the table as internally. This table name doesn't need to match the name of the hosted layer, but as this is how Survey123 internally refers to your search, must be different from all other table names and CSVs used in the survey.

Please send through your XLSForm if you continue to have problems and I can troubleshoot further.

Brett

View solution in original post

Jcordovafredes
Occasional Contributor

Thank you very much for your response.

I have solved the doubts I had, it is surprising how such a simple change from () to {} makes a difference

0 Kudos