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
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
Yes, this is possible. What I would recommend is:
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.
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.
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?
Can you get the logs so we have more detail? Could be something like conflicting domains:
Need to get more information on your data + the error message from the logs.
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.
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
Two broader possibilities:
Getting the logs or sharing your map/data will let us narrow it down faster. Otherwise, speculating:
You could try:
Sorry newbie alert here - where do I find these logs?