Skip to content

Create The Template GDB: For Conversion Databases

  • This Page Is Under Construction


    Information on this page is both incomplete and in draft.


Run the Create Template GDB Tool

Note

Make sure you close your Template_Domains workbook before running the tool.

Open the Python toolbox in an ArcGIS Pro project, expand the toolbox, and double-click on Create Template GDB to Convert Existing Database. All parameter explanations below are also available in the tool's embedded metadata and tooltips.

Populate parameters as follows:

Parameter Explanation
Path to GeMS Toolbox Navigate to and select a copy of the GeMS Toolbox. It should be the most recent version.
Output Location for Template FGDB Select a folder to output the template GDB
Name for Template GDB Enter a name for the template. This name will also be used in Domain Name and Domain Descriptions.
  • Do not include .gdb in the name; the tool will instruct you to remove it.
  • If a gdb with the same name already exists, you will see a warning that a number will be appended to the name to make it unique. You can change the name instead if you prefer.
Spatial Reference for Template GDB GeologicMap Feature Dataset Select an appropriate spatial reference
Domain, DMU, DataSource, and Method Options Select ‘Custom Values’ to use the custom spreadsheet you created.
  • ‘LOCOS Template Values’ will use the original spreadsheet.
Path to Schema Spreadsheet Navigate to the .xlsx file containing your customized schema

The template options section includes additional database characteristics as described below.

Template Option Explanation
Include MapUnitLabelPoints Feature Class Check this box to include a MapUnitLabelPoints feature class containing all the attribute rules and domains that would apply to the MapUnitPolys feature class. This is helpful if you plan to build MapUnitPolys from MapUnitLabelPoints and ContactsAndFaults.

Note: A MapUnitPolys feature class with attribute rules and domains will still be created if this box is checked.
Auto Populate GeMS Feature Class _ID Fields with GlobalID Check this box to automatically copy GlobalID values to GeMS feature class _ID fields such as ContactsAndFaults_ID and the DescriptionOfMapUnits, Glossary, and RepurposedSymbols tables.

Notes:
  • DataSources, Methods, and the GeoMaterialDict are excluded from this option.
  • If you leave this box unchecked, _ID fields will not be required to populate. Therefore, you must populate them via a method of your choice when finalizing the database.
Add 1 or more GenericPoints Feature Classes If checked, adds 1 or more GenericPoints feature class to the output database. After checking this box, a parameter will appear for you to enter names for each feature class you want to add.
GenericPoints Feature Class Names This parameter appears if Add a GenericPoints Feature Class is checked. Specify names for each GenericPoints feature class you would like to add. Names could be GenericPoints or a more specific descriptor for your database such as CinderConePoints. The parameter will display an error if an invalid name is used.

The toolbox will automatically rename feature classes and GeMS _ID fields.

Note: Make sure values in GeMSFeatureClass in your Symbol_Domain sheet uses the name you specify here. Refer to the Create the Custom Schema - GeMSFeatureClass section for more information.
Set ExistenceConfidence and IdentityConfidence Equal Check this box to always set ExistenceConfidence and IdentityConfidence fields equal for feature classes that use both fields.

If this box is left unchecked, for Symbols that are 'existence or identity questionable,' you will have to specify Existence and IdentityConfidence values while creating features. At least one must be set to questionable.
Map Unit Line Symbol Field Uses Map Unit Codes Refer to the table below for more information.

Make sure you set ‘Map Unit Line Symbol Field Uses Map Unit Codes’ properly based on how you set up your Symbol Domain sheet as described below.

Template Option Symbol Domain Adjustments Template Option Value
Symbol field uses FGDC codes Fill in the MapUnit column with corresponding MapUnit codes DO NOT check the box for ‘Map Unit Line Symbol Field Uses Map Unit Codes.’
Symbol field uses MapUnit codes Replace the FGDC code in Symbol with MapUnit codes.

Description can be left unchanged; it will not be used in the final database.
CHECK the box for ‘Map Unit Line Symbol Field Uses Map Unit Codes’’

Additional template options include:

Template Option Explanation
Add Methods Table, Domain, and MethodID Field If checked, the following will be added to the database:
  • Methods nonspatial table with Method_ID, Method, and Notes fields
  • Methods domain populated with Method_ID values from the Methods Table
  • Method_ID field, as a foreign key to the Methods table for all feature classes. The Methods domain is assigned to this field

The Methods table and domain are populated based on the values in the schema spreadsheet. Refer to the Create the Template Workbook - Methods Sheet page for more information.
Add Surficial MapUnit Fields and Rules Check this box to add additional fields to MapUnitPolys and if applicable, MapUnitLabelPoints to capture Underlying and Subordinate MapUnits.

The following fields are added as type text with a 50 character limit:
  • UnderlyingMapUnit
  • SubordinateMapUnit
  • CompositeMapUnit
  • BedrockMapUnit
  • IdentityConfidenceSecondUnit

Both UnderlyingMapUnit and SubordinateMapUnit are assigned the MapUnit domain and are user populated fields. The following is controlled by attribute rules:
  • Both UnderlyingMapUnit and SubordinateMapUnit fields cannot be populated at the same time for the same MapUnit
  • MapUnit cannot have the same value as either UnderlyingMapUnit or SubordinateMapUnit

CompositeMapUnit is automatically constructed from MapUnit and either SubordinateMapUnit or UnderlyingMapUnit as follows:
  • If SubordinateMapUnit is filled out, CompositeMapUnit is populated as MapUnit+SubordinateMapUnit
  • If UnderlyingMapUnit is filled out, and MapUnit contains a pediment unit (Qpv, Qpd, or Qpi), CompositeMapUnit is populated as MapUnit-UnderlyingMapUnit. Otherwise, CompositeMapUnit is populated as MapUnit/UnderlyingMapUnit

BedrockMapUnit is assigned the BedrockMapUnit domain and is automatically populated if a bedrock unit is present in the CompositeMapUnit. The BedrockMapUnit domain is a subset of the full MapUnit domain. Define bedrock units on the BedrockUnits sheet in schema excel workbook. Refer to Create the Template Workbook - BedrockUnits.

IdentityConfidenceSecondUnit is assigned a domain with values of certain, questionable, and not applicable. It provides an IdentityConfidence for the second unit in a CompositeMapUnit. If only MapUnit is populated, this field is automatically set to not applicable. If either SubordinateMapUnit or UnderlyingMapUnit are populated, this field must be set to either certain or questionable. The original GeMS IdentityConfidence field indicates confidence for the first unit if there are two units, or the only unit if there is one unit.

Label is automatically constructed as the CompositeMapUnit with special characters substituted as applicable. Question marks are added after the first and second unit as applicable based on the values in IdentityConfidence and IdentityConfidenceSecondUnit.
Add LTYPE, PTTYPE, and PTYPE Fields Dialog explanation obtained from the GeMS Toolbox Create New Database Script (refer to gems-tool-pro GitHub):

"If checked, adds LTYPE field to ContactsAndFaults and GeologicLines and adds PTTYPE field to OrientationPoints. Useful for digitizing purposes, or for ingesting ALACARTE-style data sets.
With the use of Feature Templates for digitizing, values of LTYPE may be helpful proxies for clusters of Type - IsConcealed - LocationConfidenceMeters - ExistenceConfidence - IdentityConfidence - Symbol values."

Note that the GeMS Add LTYPE and PTTYPE option also adds a PTTYPE to all other GeMS point feature classes, not just OrientationPoints.

This toolbox also adds fields to other feature classes including:
  • PTYPE field for MapUnitPolys, which this tool will copy to MapUnitLabelPoints.
  • LTYPE fields for CartographicLines, MapUnitLines, and IsoValueLines.
Include Attribute Rules to Parse PTYPE with MapUnits to GeMS Attributes If checked, adds an attribute rule that will parse a PTYPE field in a MapUnitPolys or equivalent feature class into its component GeMS Fields and if applicable, extension fields. The specific type of PTYPE parsing rule added depends on whether you select Add Surficial MapUnit Fields and Rules. This rule can be helpful when appending data from a source database that used PTYPE fields.

NOTE: This rule is only available if Add LTYPE, PTTYPE, and PTYPE Fields is checked.

If Add Surficial MapUnit Fields and Rules is checked, the rule works as follows.

Fields that it can populate include: UnderlyingMapUnit, SubordinateMapUnit, CompositeMapUnit, and BedrockMapUnit, Symbol, Label, IdentityConfidence, and IdentityConfidenceSecondUnit.

The rule will be added to MapUnitPolys and MapUnitLabelPoints and be set to execute first, only when new features are created and only when PTYPE has a value. Typically, this would be during an initial append from a source database.

The rule makes a series of assumptions:
  • + is used to separate a primary unit from a subordinate unit. The subordinate unit appears second.
  • / is used to separate a primary unit from an underlying unit. The underlying unit appears second.
  • - is used to designate a pediment where the second unit is the underlying bedrock unit.
  • There is no more than one subordinate and one underlying unit.
  • A pediment cannot also contain + and / delimiters.
  • If a unit is queried, a ? appears at the end of the unit; including both the first and if applicable, second unit
  • No other delimiters are used.
  • A CompositeMapUnit does not contain more than one bedrock unit.
  • BedrockMapUnit is assigned the BedrockMapUnit domain and is automatically populated if a bedrock unit is present in the CompositeMapUnit. The BedrockMapUnit domain is a subset of the full MapUnit domain. Define bedrock units on the BedrockUnits sheet in schema excel workbook. Refer to Create the Template Workbook - BedrockUnits.

IfAdd Surficial MapUnit Fields and Rules is not checked, the rule works as follows.

The rule makes the following assumptions:
  • PTYPE contains an ending question mark for IdentityConfidence=questionable units and no question mark for IdentityConfidence=certain.
  • No special age characters are used in PTYPE.
  • The template database contains a DMU table with MapUnit and Label completed.
The rule populates GeMS Fields as follows:
  • MapUnit and Symbol will be set equal to PTYPE without the ending question mark if present.
  • IdentityConfidence will be set to certain if PTYPE does not contain a question mark and questionable if it does.
  • Label will be set based on the corresponding value in the DMU table. A question mark will be added to the end of Label if IdentityConfidence is questionable. If the PTYPE is not in the DMU, Label will be populated with the text "MapUnit not in DMU".

This option will also add a parsing rule to OverlayPolys. It works just like the LTYPE and PTTYPE parsing rules. Refer to those parameters for more information.
Once a mapper starts using the database, this rule will not run as long as PTYPE is not populated for new features. However, you may want to deactivate or delete this rule after finishing appending data.
Include Attribute Rules to Convert LTYPE to GeMS Attributes If checked, adds an attribute rule that will use the AttrRules_CalcFromSymbol table to parse an LTYPE attribute into its component GeMS attributes. The rule is designed to run when data from a source database is appended to the template database and will run for any feature that has an LTYPE. To make use of this functionality, ensure that LTYPE in the AttrRules_CalcFromSymbol table is populated such that LTYPE values from your source database correspond to the correct Symbols for the template database.

The rule works by looking at an input feature's LTYPE value, finding it in the AttrRules_CalcFromSymbol table, and then using that table row's applicable columns to populate the feature's GeMS fields.

This option adds an LTYPE parsing rule for the following feature classes:
  • CartographicLines
  • ContactsAndFaults
  • GeologicLines
  • IsoValueLines
NOTE: This rule is only available if Add LTYPE, PTTYPE, and PTYPE Fields is checked.

Once a mapper starts using the database, this rule will not run as long as LTYPE is not populated for new features. However, you may want to deactivate or delete this rule after finishing appending data.
Include Attribute Rules to Convert PTTYPE to GeMS Attributes If checked, adds an attribute rule that will use the AttrRules_CalcFromSymbol table to parse a PTTYPE attribute into its component GeMS attributes. The rule is designed to run when data from a source database is appended to the template database and will run for any feature that has a PTTYPE. To make use of this functionality, ensure that PTTYPE in the AttrRules_CalcFromSymbol table is populated such that PTTYPE values from your source database correspond to the correct Symbols for the template database.

The rule works by looking at an input feature's PTTYPE value, finding it in the AttrRules_CalcFromSymbol table, and then using that table row's applicable columns to populate the feature's GeMS fields.

This option adds a PTTYPE parsing rule for the following feature classes:
  • FossilPoints
  • GenericPoints
  • GeochronPoints
  • OrientationPoints
  • Stations
NOTE: This rule is only available if Add LTYPE, PTTYPE, and PTYPE Fields is checked.

Once a mapper starts using the database, this rule will not run as long as PTTYPE is not populated for new features. However, you may want to deactivate or delete this rule after finishing appending data.
Disable Attribute Rules in Output Template Database If checked, disables all attribute rules except for the rule that parses PTYPE in its components, if included. This can be helpful when appending data from a source database. Use the Toggle Attribute Rules/Editor Tracking script in this toolbox to re-enable all rules when appropriate. That script can also be used to disable the rules in the future if needed.
Disable Editor Tracking in Output Template Database If checked, disables all editor tracking in the output database. This can be helpful when appending data from a source database when you want to preserve editor tracking information. Use the Toggle Attribute Rules/Editor Tracking script in this toolbox to re-enable editor tracking when appropriate. That script can also be used to disable editor tracking again in the future if needed. Note that editor tracking is never enabled for the GeoMaterialsDict and AttrRules_CalcFromSymbol tables.

Run the tool. It takes approximately 4-6 minutes to complete depending on selected template options. Messages are displayed during execution indicating general progress.

Note

If the tool takes significantly longer than 4-6 minutes to run, particularly during the early stages, start a new ArcGIS Pro project and re-run the tool.

Appending Data

Use the Append geoprocessing tool to add data from another database to the template. That data must be clean before inclusion in the template for attribute rules to work properly.

Make Final Adjustments to Appended Data

Re-Enable Attribute Rules/Editor Tracking