In the frame of a field campaign for land cover mapping, we try to develop an App which allows for the collection of points on a base map and fill a set of attributes. So far, our best solution is to use ArcGIS Collector because we often need to work offline. Using the domain, the attribute table is filled with pre-encoded values.

The problem is that we have a hierarchical legend with three levels. There are less than ten items at the first legend, then around 25 at the second level and more than 50 at the third. The drop down list is therefore very long at the third level, and if everything is possible we could have inconsistent labels between two levels. (e.g. grassland then cereals instead of grassland then graminaceous plant).

So, the question is : how can we filter the lists proposed to the field collector based on his previous choices ? In other words, how can we adapt the domain to the values of another field.

For instance, after selecting "forest" in the first drop down list, a new drop down list should be available with only "mixed forest", "broadleaved forest" and "needleleaved forest".

EDIT: there was already an ArcGIS Idea on this topic, so the question probably doesn't have a built in solution. Any workaround with ArcGIS or similar capabilities to ArcGIS collector with another app would be worth the bounty (as long as it works). To sum up, here are the main features :

1) provide a base map (high resolution image)

2) works offline (GPS but no Internet)

3) point capture tool with colour symbol

4) when a choice has been made based on a drop down list for the first field, a second drop down list becomes available conditionnally to the first choice, then a third drop down list becomes available conditionnally to the second choice

5) If possible not specific to a single mobile device

I can already do 1,2,3, and 5 with arcgiscollector. So my question is: how to get conditional drop down list (point 4).

  • Does ArcGIS Collector / online provide access to window form objects as per ArcGIS DotNet API? – AnserGIS May 9 '14 at 10:10
  • It seems to be available for arcGIS 10.2 blogs.esri.com/esri/arcgis/2014/03/08/… . I am currently on 10.1 but I plan to upgrade. resources.arcgis.com/en/communities/runtime-windows-mobile – radouxju May 9 '14 at 13:17
  • @AnserGIS Finally, it does not seem possible to edit the forms created for ArcGIS Collector. At least I didn't find how to do it. – radouxju May 13 '14 at 6:01
  • 1
    Ah, if you can't programatically access the FindString property or set it to a dynamic SQL then the only option I see.. which isn't quite what you want so I am not putting it as an answer, is to use only a single list box for all three levels, chain the parameters together and sort them alphabetically e.g. forest_mixed_broadleaved .. that way the auto-correct will at least take you to the right subset to scroll from and you will have consistent data. The field can then be parsed into the three levels afterwards. – AnserGIS May 14 '14 at 8:22
  • Thanks for the suggestion. In fact, this is what I've done, but as I said there are more than 50 choices, so it is makes a very long list and long names. – radouxju May 14 '14 at 8:25

I would suggest using QGIS for Android (or if you have a Windows tablet you have use the default desktop app).

  • You can load any type of raster or vector data as a basemap
  • It can work offline with GPS
  • It has a point capture tool within the GPS Info. panel
  • This last criteria most likely you will have to develop since this type of control is specialized. You will have to use QT Designer and pyQGIS to build your custom form UI and logic for the multi conditional controls.

In addition, it is free to install and use, and you can dummy down the UI interface to only show the menus and tools/toolbars that you need to see.

  • Thank you for your answer, but I have never used QT Designer. Maybe this becomes off topic but any hint on how to use it would be appreciated (classes to look for, event handling, links with pyQGIS...). As you can guess I would like to avoid doing everything from scratch. – radouxju May 8 '14 at 11:58
  • Last time I check the Android version of QGIS did not have Python support. Has this changed? – Snorfalorpagus May 8 '14 at 14:10

check out this app from giscloud


it has offline data capture capability and you can have custom Forms and Dropdowns & Lists.

it works on android and ios.

i don't know about your demand about the conditional dropdowns.. but its worth a check

  • It seems that, despite the fact that it is possible to work offline, it is not possible to use a basemap in this case. – radouxju May 13 '14 at 8:58

Probably you have already found the answer to your question, have you? But if not I will recommend you to ask ESRI UK, for licence to ‘Forester’ an application developed for Forestry Commission (FC) in UK, I have been using it for surveying native woodlands in Scotland and it looks like Forester will cover all of your requirements. The only issue is that Forester is designed for FC environment (compatible to FC database structure), so amendments you your project will be required.


You may also want to check out ArcGIS Survey123.... it is a similar app to ArcGIS Collector, but gives you more control over your forms. It does have some limitations, in that you are only able to collect points right now.


Not the answer you're looking for? Browse other questions tagged or ask your own question.