Updating an existing template GDB¶
Once you are working with a template gdb, you may need to add, remove, or update domain values, change dependent values for the symbol attribute rules, or add/remove/update MapUnits. This section walks you through making those updates.
It is important that changes be made both to the domain and the corresponding nonspatial table in tandem to ensure attribute rules continue to work properly.
Adding Symbol Values¶
Add Domain Code and Description to Symbol Domain¶
For the corresponding feature class, access the domain and add a code and description as follows:
| Field | Explanation | Example |
|---|---|---|
| Code | 0-padded FGDC code as it appears in the FGDC.stylx file | 01.01.01 |
| Description | 0-padded FGDC code, followed by a dash, and then the description If you are using a standard FGDC symbol, use the description found in the FGDC.stylx file |
01.01.01 - Contact—Identity and existence certain, location accurate |
Add Entry to AttrRules_CalcFromSymbol Nonspatial Table¶
In the AttrRules_CalcFromSymbol non-spatial table, add a new row, using other rows as an example, populate all relevant fields.
The following fields must be completed:
- Symbol – same 0 padded FGDC code that was used in the domain.
- Type
The following fields must be completed if applicable to the feature class:
- ExIDConfidence
- IsConcealed
- Inclination: 0 for horizontal OrientationPoints, 90 for vertical OrientationPoints
Complete LocationConfidenceMeters only if you plan to use the same value for all symbols of that type.
For MapUnitLines specifically:
- If Symbol uses FGDC codes, populate the MapUnit field with the corresponding MapUnit code.
- If Symbol uses MapUnit codes, populate the Symbol field with the corresponding MapUnit code.
- That MapUnit must be in the DMU table. If it is not, follow the steps in the Adding MapUnit Domain Values section.
Adding MapUnit Values¶
Add Domain Code and Description to MapUnit Domain¶
Within the MapUnit domain, add the following:
| Field | Explanation | Example |
|---|---|---|
| Code | MapUnit code | Qby |
| Description | Follow the format of MapUnit – FullName (Age) | Qby – Lake Mohave beach sediments (latest Holocene) |
Add MapUnit to DescriptionOfMapUnits Nonspatial Table¶
Within the DMU, add a row with at a minimum, the following fields completed:
- MapUnit
- Symbol
- Label
- Name
- FullName
- Age
It is important that the domain code and MapUnit/Symbol values in the DMU match for attribute rules to work properly.
Adding/Updating Methods or DataSources¶
Update both the nonspatial table and corresponding domain.
Updating Existing Values¶
If you need to change information in either the AttrRules_CalcFromSymbol or DMU table, existing features will not be automatically updated. Only new features and existing features that you edit will pick up the changes. Furthermore, changes to key fields and domains such as Symbol and/or MapUnit should be done with care. Refer to the steps below.
Updating fields other than Symbol/MapUnit¶
- Make a backup of your database
- Make the required change to the field in the nonspatial table and save edits
- For the affected feature class, perform a field calculation operation and set Symbol = Symbol. This will force an update that recalculates all dependent attributes.
Updating Symbol and/or MapUnit Domain Descriptions¶
- Make a backup of your database.
- If only the domain description needs updating, update the corresponding domain description. Then, update anything tied to that, such as FullName, Age, dependent line fields, etc.
- If the DMU or CalcFromSymbol table were updated, for the affected feature class, perform a field calculation operation and set
Symbol = Symbol. This will force an update that recalculates all dependent attributes.
Updating Symbol and/or MapUnit Domain Codes¶
- Make a backup of your database.
- Make the code change in the Domain.
- If required, update the description as well, as the description usually also contains the code.
- Make any corresponding change in the DMU or AttrRules_CalcFromSymbol tables.
- Within the corresponding feature class, select all values that used the old code value.
- Perform Calculate Field, setting the Symbol field to the new value.