The Excel files used to create a geodatabase in Defense Mapping Solution
The Microsoft Excel file that is used to generate a geodatabase consists of multiple worksheets based on the components of the geodatabase. The individual worksheets in the file contain the spatial reference, datasets, object classes, subtypes, fields, domains, and metadata you want to include in the database.
These worksheets have a specified format and cannot be altered. The information in the worksheets, other than the column names, can be modified.
The following sections describe the worksheets and the columns on each.
SpatialReferences worksheet
The SpatialReferences worksheet contains information about the spatial reference of the datasets containers and/or object classes. You can create one record for each spatial reference you want to use with the geodatabase, which allows you to specify the spatial reference for individual feature classes or datasets.
In the table shown below, there is only one spatial reference that is going to be used for the geodatabase: GCS_WGS_1984. However, if a different spatial reference was required for another dataset in the geodatabase, another record can be created for it on the SpatialReferences worksheet.
The table below describes each column on the Spatial References worksheet and provides details about the types of information that can populate each one, as applicable.
Column name |
Description |
Notes/Comments |
---|---|---|
SpatialReference_ID |
An identifier that is used in the DatasetContainers or ObjectClasses worksheet |
The identifier allows you to specify the spatial reference for a dataset or feature class. |
Description |
The name of the spatial reference to be used for the identified datasets or object classes |
|
FactoryCode |
The code for the coordinate system definition |
The information on the following pages can be used to determine the factory code you need to use: |
SpatialReferenceString |
Custom projection parameters |
|
VerticalDescription | The name of the vertical coordinate system to be used for the identified datasets or object classes | |
VerticalFactoryCode | The code for the vertical coordinate system definition | The information on the following page can be used to determine the factory code you need to use: |
XMin |
The minimum value for the x-coordinate of the defined bounding box of the data container |
The x-coordinate is the longitude coordinate of the world axis. |
YMin |
The minimum value for the y-coordinate of the defined bounding box of the data container |
The y-coordinate is the latitude coordinate of the world axis. |
XMax |
The maximum value for the x-coordinate of the defined bounding box of the data container |
|
YMax |
The maximum value for the y-coordinate of the defined bounding box of the data container |
|
XYPrecision |
The inverse of the XY resolution |
|
ZMin |
The minimum value for the z-coordinate of the defined bounding box of the dataset container |
|
ZMax |
The maximum value for the z-coordinate of the defined bounding box of the dataset container |
|
ZPrecision |
The inverse of the Z resolution |
|
MMin |
The minimum value for the m- or measurement coordinates of the defined bounding box of the dataset container |
The m-coordinate is the measurement, or fourth dimension, of the world axis. |
MMax |
The maximum value for the m- or measurement coordinate of the defined bounding box of the dataset container |
|
MPrecision |
The inverse of the M resolution |
DatasetContainers worksheet
The DatasetContainers worksheet contains information about the feature datasets, including the type and spatial reference. Each dataset is assigned a unique identifier that can then be referenced when you are creating object classes. In the table shown below, you can see that two datasets are going to be created in the geodatabase, MGCP and MGCP_Metadata, and that each one has a unique identification number associated with it.
The table below describes each column on the DatasetContainers worksheet and provides details about the types of information that can populate each one, as applicable.
Column name |
Description |
Notes/Comments |
---|---|---|
Dataset_ID |
A unique identifier for the feature datasets that will be created |
This number is used to reference the feature dataset in other worksheets. |
CreateDataset |
A Boolean field that indicates whether or not the feature dataset is going to be created |
|
DatasetType |
Describes the ESRI dataset type constant, for example, feature dataset |
|
DatasetName |
The name of the dataset type that is going to be created |
|
SpatialReference_ID |
A reference to the spatial reference that is going to be used when the dataset type is created |
ObjectClasses worksheet
The ObjectClasses worksheet contains information about the feature classes and tables that are going to be included in the geodatabase. This includes the datasets with which they are going to be associated and the data type for each feature class or table. In the table shown below, there are two datasets that are going to have object classes assigned to them.
The table below describes each column on the Object Classes worksheet and provides details about the types of information that can populate each one, as applicable.
Column name |
Description |
Notes/Comments |
---|---|---|
ObjectClass_ID |
A unique identifier for the object classes (feature classes or tables) that are going to be created |
This number is used to reference the object class in other worksheets. |
Dataset_ID |
A reference to the Dataset_ID column on the DatasetContainers worksheet |
The value in this column determines which dataset is going to contain the feature class or table. If the feature class or table is not part of a dataset, the value in this column should be less than 1 (preferably -9999). |
CreateObjectClass |
A Boolean field that indicates whether or not the specified object class is going to be created |
|
ObjectClassName |
The name of the object class that is going to be created |
This name is subject to all the ArcMap restrictions on feature class and table names. |
ObjectClassAlias |
The alias name for the specified object class |
This is the name users see in the table of contents when they add the object class to ArcMap. |
ObjectClassDescription |
An optional field that can be used to further describe the specified object class |
|
ObjectClassDataType |
The type of object class that is going to be created (feature class, table, and so forth) |
Possible values for this column are as follows:
|
ObjectClassFeatureType |
The types of features that are going to be stored in the specified object class (simple, annotation, and so forth) |
Possible values for this column are as follows:
|
ObjectClassGeometry |
Defines what type of feature geometry is going to be stored in the specified object class (point, line, and polygon) |
Possible values for this column are as follows:
|
SpatialReference_ID |
A reference to the SpatialReference_ID column on the SpatialReferences worksheet |
|
HasZ |
A Boolean field that indicates whether or not the specified object class is going to store z-values |
|
HasM |
A Boolean field that indicates whether or not the specified object class is going to store m- (measure) values |
Subtypes worksheet
The Subtypes worksheet contains information about the subtypes. This includes the unique identification number for each subtype as well as the feature class with which it is associated. For instance, in the table below, object class 1 has two subtypes, which are identified in the SubtypeNumber column as 0 and 1. When there are multiple subtypes in a feature class, you can choose to assign a default subtype to the feature class.
The table below describes each column on the Subtypes worksheet and provides details about the types of information that can populate each one, as applicable.
Column name |
Description |
Notes/Comments |
---|---|---|
Subtype_ID |
A unique identifier for the subtypes |
It is used on other worksheets to reference the subtype. |
ObjectClass_ID |
A reference to the ObjectClass_ID column on the ObjectClasses worksheet |
The value in this column determines which feature class is going to contain the subtype. |
CreateSubtype |
A Boolean field that indicates whether or not the specified subtype is going to be created |
|
SubtypeField |
The integer field in the feature class that stores the subtype codes |
|
SubtypeNumber |
The integer value that serves as the code for the specified subtype |
|
SubtypeName |
The name of the subtype that is going to be created |
|
SubtypeDescription |
An optional description of the specified subtype |
|
SubtypeDefault |
A Boolean field that indicates whether or not the specified subtype is the default subtype for a feature class |
If there are multiple rows for one feature class (that is, it contains multiple subtypes), only one of those rows should contain a value of "True" in this column because there can only be one default. |
Fields worksheet
The Fields worksheet contains information about the fields on the feature classes, including the object classes, subtypes, and domains with which they are associated. There is one entry per field for each subtype or feature class. This means that if you have the same field in multiple feature classes, it must be added for each feature class and subtype. For instance, in the table shown below, FCSubtype, GFID, and F_CODE are fields that are included in both subtypes for object class 1.
The table below describes each column on the Fields worksheet and provides details about the types of information that can populate each one, as applicable.
Column name |
Description |
Notes/Comments |
---|---|---|
Field_ID |
A unique identifier for the field for a subtype or feature class |
|
ObjectClass_ID |
A reference to the ObjectClass_ID column on the ObjectClasses worksheet |
The value in this column determines which feature class or table is going to contain the field. |
Subtype_ID |
A reference to the Subtype_ID column on the Subtypes worksheet |
The value in this column determines which subtype is going to contain the field. If the feature class defined in the ObjectClass_ID field does not contain any subtypes, use -9999. |
CreateField |
A Boolean field that indicates whether or not the field is going to be created |
|
FieldName |
The name of the field that is going to be created |
This name is subject to all the ArcMap restrictions on field names. Field names in the same table or feature class must be unique (you cannot have two fields with the same name). |
FieldAlias |
The alias name (alternate name) of the field |
The field alias can be used to show a more descriptive version of the field name. |
FieldDescription |
An optional field that can be used to further describe the field |
|
FieldDomainName |
The name of the coded value or range domain associated with the field |
If the specified field is not constrained by an attribute domain, then the Field Domain Name value should be left blank. |
FieldType |
The types of values that are going to be stored in the field (text, integer, and so forth) |
Possible values for this field include the following:
|
FieldDefaultValue |
The default value for the field |
|
FieldEditable |
A Boolean field that indicates whether or not the field can be edited |
|
FieldIsNullable |
A Boolean field that indicates whether or not the field can contain null values |
|
FieldLength |
The maximum number of allowable characters for the field value |
This option is only applicable for String or BLOB field types. |
FieldPrecision |
The number of digits that can be stored in the field |
All digits are counted, regardless of what side of the decimal they are on. This column is only used for Double and Integer field types. |
FieldScale |
The number of decimal places stored in a field |
This column is only used for Double field types. |
Mandatory |
A Boolean field that indicates whether or not the field is required |
Domains worksheet
The Domains worksheet contains information about coded value and range domains. The domains can be created to populate a more general range of values, such as an existence category, or they can be created specifically for a feature class or subtype field. With some databases, the individual subtypes themselves can be domain values.
In this table, a unique Domain_ID value is assigned to each possible domain value, and the values are then grouped based on the domain name.
The table below describes each column on the Domains worksheet and provides details about the types of information that can populate each one, as applicable.
Column name |
Description |
Notes/Comments |
---|---|---|
Domain_ID |
A unique identifier for each domain value |
|
CreateDomain |
A Boolean field that indicates whether or not the domain is going to be created |
|
Name |
The name of the domain |
This name is subject to all the ArcMap restrictions on domain names. |
Description |
An optional field that can be used to further describe the domain |
|
DomainCode |
A number that represents a value in a coded domain |
This column is applicable to the Coded Domain data type. |
DomainMin |
The minimum value of a range domain |
|
DomainMax |
The maximum value of a range domain |
|
DomainDescription |
A description of what the coded value represents |
This column is applicable to the Coded Domain data type. |
DomainDataType |
The type of domain (Coded Value or Range) |
Possible values for this column are as follows:
|
DomainFieldType |
The types of values to be stored in the domain (text, integer, and so forth) |
This value should be the same as the Field Type value on the Fields worksheet for any fields with which the domain is associated. Possible values for this column are as follows:
|
DomainSplitPolicy |
The behavior of an attribute's values when a feature that is split is controlled by a split policy |
Possible values for this column are as follows:
|
DomainMergePolicy |
The behavior of attribute values when two features are merged into a single feature |
Possible values for this column are as follows:
|
MetaInfo worksheet
The MetaInfo worksheet contains information about feature class-level metadata items that is used to create fields on the newly created feature class. Having metadata items defined on the MetaInfo worksheet will allow you to include that set of fields on any feature class. For instance, in the graphic below, the fields that are listed on the MetaInfo worksheet create a set of metadata attributes that can be added to all the feature classes in the database.
This is done on the Fields worksheet, where you can have a row that contains the PLTSMETAINFO keyword in the Field Name column. In the example below, row 17 of the Fields worksheet uses PLTSMETAINFO as the field name, meaning that the attributes listed on the MetaInfo worksheet are all going to be added to the end as metadata for the feature class. This eliminates the need to repetitively add metadata fields to every applicable feature class.
The table below describes each column on the MetaInfo worksheet and provides details about the types of information that can populate each one, as applicable.
Column name |
Description |
Notes/Comments |
---|---|---|
MetaInfo_ID |
A unique identifier for the metadata field |
|
ObjectClass_ID |
A reference to the ObjectClass_ID column on the ObjectClasses worksheet |
This reference is not needed for the MetaInfo worksheet; use -9999. |
Subtype_ID |
A reference to the Subtype_ID column on the Subtypes worksheet |
This reference is not needed for the MetaInfo worksheet; use -9999. |
CreateMetaInfo |
A Boolean field that indicates whether or not the specified metadata field is going to be created |
|
MetaInfoName |
The name of the metadata field that will be created |
This name is subject to all the ArcMap restrictions on field names. Field names in the same table or feature class must be unique (you cannot have two fields with the same name). |
MetaInfoAlias |
The alias name (alternate name) of the metadata field |
The metadata field alias name can be used to show a more descriptive version of the metadata field name. |
MetaInfoDescription |
An optional field that can be used to further describe the specified metadata field |
|
MetaInfoDomainName |
The name of the coded value or range domain associated with the metadata field |
If the specified metadata field is not constrained by an attribute domain, then MetaInfoDomainName should be blank. |
MetaInfoFieldType |
The types of values that will be stored in the specified metadata field (text, integer, and so forth) |
Possible values include the following:
|
MetaInfoDefaultValue |
The default value of the metadata field |
|
MetaInfoEditable |
A Boolean field that indicates whether or not the metadata field can be edited |
|
MetaInfoIsNullable |
A Boolean field that indicates whether or not the specified metadata field can contain null values |
|
MetaInfoLength |
The maximum number of allowable characters for each record of the metadata field |
This option is only applicable for metadata fields that are String or BLOB field types. |
MetaInfoPrecision |
The number of digits that can be stored in the metadata field |
All digits are counted, regardless of what side of the decimal they are on. This parameter is only used in Double and Integer metadata field types. |
MetaInfoScale |
The number of decimal places stored in a metadata field |
This is only applicable in Double data field types. |