Attribute Domains for ArcGIS File Geodatabases are arguably the most important data quality tool for geoscientists creating play fairway mapping data. As such we thought it would be useful if the next in our series of GIS Tips explained how to use them.
There are probably three types of ArcGIS users reading this:
- Users that already understand the power of Attribute Domains.
- Users who are new to ArcGIS and have never heard about Attribute Domains.
- Users who are ‘old hands’ now, but developed most of their skills when Shapefiles were all the rage (i.e. they haven’t heard about Attribute Domains either!).
Those of you in user groups 2 and 3 read on, because this tip should be really useful.
Improving Attribute Data Quality
Have you ever been in the situation where you have two well databases and you are trying to Join or Relate them (see Tip 4)? This should be a few seconds job but almost never is because the well names never match up perfectly.
Often a string (or ‘text’) attribute value, like the name of a well, only has to be out by a single character to cause a Join or Relate operation to fail. If you are careful, you’ll notice that you have some sort of string mismatch and you’ll spend hours trying to rectify the situation. That’s if you are being careful and noticed the error to begin with. This is a good example of a common problem with attribute fields, not because many geoscientists will be creating well databases themselves, but because we’ve all been frustrated by them – we understand the pain!
However, if you create your own play fairway maps, there is an even more frustrating and potentially much more expensive problem if you mistype an attribute value. In fact, it could cost your organisation a license that you might otherwise have taken on, just because someone entered “Oil Mture” or “oil mature” or “oil_mature” instead of “Oil Mature”.
Tackling the Play Fairway Attribute QC Problem
Play fairway analysis and mapping often requires one or more of the common risk segment layers to be digitised from existing data and a spatial data set to be constructed. Perhaps you have a map like the one below?
Lets assume that the black rectangle shows your area of interest and that the challenge is to create a file geodatabase by capturing the polygons within this region. The usual workflow will be to capture the polygons by screen digitising this area. Users will all have their preferred method of structuring this capture efficiently, as has been done in the image below.
The greater the number of polygons that need to be attributed, the greater the potential for typos. In the example above you’d probably catch the error(s), but when there are dozens of polygons and/or more than one person entering data, the amount of QC work increases dramatically.
Using Attribute Domains
To avoid these potential typos, and to simplify and standardise the data that you allow to be entered into your attribute database simply use Attribute Domains. A “Domain” denotes all valid entries into a particular attribute field. One really cool feature is that when you establish an Attribute Domain for a particular File Geodatabase, it can be applied to any Feature Class that is stored within it, meaning it can be used multiple times. This can be a significant productivity gain.
So, instead of laboriously typing the source maturity type into the attribute table for each polygon created, when the Attribute Domain has been created you are presented with a drop down menu. Point – click – no errors possible – accuracy and huge time savings to boot.
So how to apply an Attribute Domain to your feature class? In ArcCatalog, simply right-click on the feature class file you have created in order to digitise the polygons into and open the context menu > Properties. You are presented with the New Feature Class window (below).
Select the Type field (if it doesn’t exist, create it) and set the domain to whatever you have created for the File Geodatabase. In our case, we called it “Charge”. That is all you have to do to use an existing Attribute Domain within a File Geodatabase, but how do you create the attribute domain in the first place?
Creating Attribute Domains
Again, in ArcCatalog, right-click on the File Geodatabase in which your feature class is stored and from the context menu select Properties to pull up the Database Properties dialog, as shown below.
Select the Domain tab and fill out the dialog, as above. The “code” is an abbreviation in this case, but it could also be an integer value. This isn’t a complex example – you on the other hand might have subtle and important definitions that you can make other users aware of without imposing any additional overhead on their attribute data entry by developing or using existing attribute coding systems.
Two Types of Domain
There are two types of domain that users can specify: range and code based domains. These provide even more database QA. Suppose you know that in a particular basin, the source layer has never been found to be more than 1000 feet thick: set Field Type to Integer and Domain Type to Range and specify a range of 0-1000. This way no negative values (an impossibility) or values over 1000 feet (suspect until proven!) will get entered by mistake.
In the Database Properties window, above, we’ve shown a case where a Text Field has been coded with four values. Aside from the already mentioned improvement in data entry speed – there are now only four possible values (unless you edit this domain) – users cannot by accident or intent create other values on-the-fly. This will greatly improve the accuracy of database queries.
Advantages to Using Attribute Domains
Firstly, you will improve your quality control and the more people using the domain to standardise attribute field the greater the value of this QC. Secondly, with only a small setup overhead you have reduced the data entry time and this can be a huge savings both for yourself and any team members working from the same file geodatabase. Thirdly, you can bet that you are one of the few people in your team who now know the value of using Attribute Domains in ArcGIS. Which makes you look good.
Posted by Chris Skelly, Training Manager, Exprodat.