Select to view content in your preferred language

Field maps - data structure

1438
11
04-14-2023 05:42 PM
AlGrant
Emerging Contributor

I am looking to setup a simple form for people to report locations of invasive plants of which there are about 5 types.

It would seem logical to have a dropdown on the form where you select the plant type from options 1-5 and this will put all the data in one table. 

But if then I want to display all locations of plant 1 on a layer - can this be done? Maybe the layer is populate by a select * where type statement?

Is this possible and the best way to set the data up (vs a form for each plant type).

Cheers

 

Al

 

0 Kudos
11 Replies
JoshuaSharp-Heward
Frequent Contributor

Hi Al,

I'd definitely recommend keeping all of the data in the same table and having a drop down. Where are you aiming to display the data, in a web map in ArcGIS Online? You can set up filtering on a layer within web maps in AGOL, and ArcGIS Dashboards and Web Experience Builder/Web App Builder also have filter tools that would allow a user to query the data in a drop down box as they please.

You may also just want to consider symbolising on the species field so you can easily see which species are where - Field Maps also now allows for the configuration of filtering by specific fields in a layer which would allow your data collectors to see the points for a specific species in the field too.

Cheers,

Josh

0 Kudos
ChristopherCounsell
MVP Regular Contributor

Yes, this is possible. What I would recommend is:

  • Setup one table for all species
  • Create the drop-down list using domains. Include an 'other' option, as it's inevitable
  • Add a species_other column. When making the form, make this relevant to the other being chosen. This lets you capture species not in the list under a separate column and you can update the list and tidy up data later
  • Set up the map with this layer, add reference data and finish building the form in Field Maps.
  • In Field Maps web app add a filter to the species list.

This lets users collect the data into one layer and they can also filter by the species by themselves.

If you want to share the results, I would recommend creating another Hosted Feature Layer View. This lets you filter collected data, fields shown and disable editing. Use this to create web apps e.g.  a map and then instant apps, dashboards or experience builder. All of these apps have filter and selection widgets. 

You could add the layer several times to a map and put on filters for each layer, but this is a lot of manual overhead as you need to manage 5 layers vs 1. It'll also cause offline sync issues due to a defect. Can get around that by creating a View for each layer, but again more overhead. Best to just let client apps (field Maps or web apps) filter themselves through widgets, rather than preset multiple layers to toggle on/off.

ChristopherCounsell
MVP Regular Contributor

Just to add, for something this simple, all filters and queries can be setup through the UI. No need for SQL statements. More complicated ones can be preconfigured for use at a widget or later view level, but it would be using Arcade, and overkill for this scenario.

0 Kudos
AlGrant
Emerging Contributor

Thanks for the confirmation that this data structure is the way to go.

I have finished my form in Field Maps but now when I try to submit a test entry on my phone I get:
"The Form contains unsupported data" - this message is displayed before the form opens - right after I click the "+"

 

Any ideas?

ChristopherCounsell
MVP Regular Contributor

Can you get the logs so we have more detail? Could be something like conflicting domains:

https://support.esri.com/en-us/knowledge-base/error-3079-domain-already-exists-in-collector-for-arcg...

Need to get more information on your data + the error message from the logs.

0 Kudos
ADS
by
Occasional Contributor

I agree with the comments and advice provided.  Create editable hosted feature layer. Add coded value domain for the species list. During layer creation, do not select the option to require a value, or to not permit null values (even though it makes sense in purpose, this selection will  hang up and or reject your input records,  it can be the issue you are having with  unsupported data.   

Another consideration for your application would be something build in Quick Capture Designer. Quick Capture is a good app to consider for your project, You can link your QuickCapture project to an existing Survey 123 or Field Map.   You can hard code the buttons and/or encourage the user to choose "type" by use of a coded value "choice list" which can be made in layer design or when creating choice list. 

0 Kudos
AlGrant
Emerging Contributor

Well the plot thickens:

1. Making the map fields non-mandatory didnt help.

2. I realized that in FieldMaps I have two map options (for the same map) one is the offline one, and that offline one is the one where the form has the error "The Form contains unsupported data"

The online map form works ok.

Does that provide a clue?

Cheers

Al

 

0 Kudos
ChristopherCounsell
MVP Regular Contributor

Two broader possibilities:

  • The data is not supported offline. Likely not, as this usually causes sync issues over editing. 
  • Your map, form and data are not aligned. E.g. your form references a field or domain value that does not exist. This is more likely.

Getting the logs or sharing your map/data will let us narrow it down faster. Otherwise, speculating:

  • You have added or removed a domain (list) value from the service, that the form expects
  • You have added or removed a field that the form expects
  • You have a now invalid arcade expression that the form expected
  • You have system fields that are not supported offline.
  • You have a form submitting invalid data. I.e. changed a field from string to integer, null/required fields...

You could try:

  • Obtaining logs
  • Comparing form fields, choice lists and expressions against the service
  • Checking that system fields
  • Reviewing the service for any unusual fields, specifically system ones like geometry or editor tracking
  • Updating any offline map packages once the form has been reviewed
  • Ensuring you are on the latest field maps release 
0 Kudos
AlGrant
Emerging Contributor

Sorry newbie alert here - where do I find these logs?

 

0 Kudos