[GIS] Making fields conditional using ArcGIS for Desktop

arcgis-10.3arcgis-desktopconditionalsubtype

I am using ArcGIS 10.3 for Desktop to build a large inventory of urban trees to be used for tree risk assessment purposes. This inventory was originally in a relational Microsoft Access database, and I have spent the last few months structuring a new database using ArcGIS. I have created relationship classes between the main Feature Class ("Tree_Info") and other secondary tables, such as the "Inspection" table with risk assessment information.

In the "Inspection" table, there is a field called "Significant" which is a boolean 1-Yes 0-No. Not surprisingly, the "Significant" field represents trees of significant importance.

I have 4 other fields in the "Inspection" table which I ONLY want populated when "Significant" is populated by 1-Yes. These fields include "Rem_Mod" (Can the tree be removed or modified? Yes or No), "Sig_Type" (Signficance Type: historic, cultural, memorial, etc.), "DBH" (Diameter at Breast Height), Crown_Sprd (Crown Spread). If the "Significant" field is populated by 0-No, then these 4 fields can be left null.

I've looked into Subtypes, and I'm not sure this is what it is intended to do.

I'm not a programmer, and I am relying on the native ArcGIS tools, unless someone has a different simple solution. I'm at a loss of what to do. Does anyone have any suggestions on how to make these 4 fields conditional upon the tree's significance?

Best Answer

It may be worth your while taking a look at Survey123 for ArcGIS. This is an Esri app that allows you to use conditional logic while collecting data. At the moment it can only be used to collect points (no lines or polygons) so this may rule it out straight away. It is form centric, not map centric and can only be used to collect data - i.e. you cannot edit points as in Collector yet.

There is a Windows app that you could use while collating the data - this wouldn't have to be done on a phone. The data is stored in a feature service so you can download the data in whatever format you want, e.g. geodatabase. Also note that the conditional logic is stored at an app level, not at a database level.

Related Question