The cross-reference database (Defense Mapping)
The cross-reference database is a database utilized by the Data Loader tool to map the object classes and fields of a source to those in a target. A source type can be a shapefile, coverage, or a geodatabase defined by a specific schema. A cross-reference database must be defined for each source type and schema. Sources of the same type with different schemas may require separate cross-reference databases.
The cross-reference database contains several tables with fields that define the relationships between the source and target schemas. For instance, if you want to create a cross-reference database based on two different schemas, and they both contain the RoadL feature class, there would be a row in the DatasetMapping table that maps the feature class in the source schema to the feature class in the target schema. The same happens if there are common fields within the mapped feature classes. If the Create Cross-Reference tool finds fields with common names in the two RoadL feature classes, the FieldMapping table will contain a row that maps the field in the source dataset to the target dataset.
DatasetMapping table
This table defines the relationships between the source and target datasets. Additional information, such as WHERE clauses and subtype codes, can be added to the table to further define which source features are loaded and into which target subtypes they are going to be loaded.
Field |
Description |
---|---|
Id |
A unique number that is automatically generated by the database. This identifier is used to reference the dataset mapping in the FieldMapping table. |
SourceDataset |
The name of the feature class or table in the source dataset. |
TargetDataset |
The name of the feature class or table in the target dataset. |
WhereClause |
This field allows you to define a subset of the source dataset to be loaded into the target dataset. For example, if you are loading lake features from a Hydrography_Areas source feature class into a Lakes target feature class, you can use the WhereClause field to define what condition needs to be met before the features are loaded into the Lakes feature class. In this instance, your WhereClause could be something like F_CODE = BH080 when the feature code of BH080 is defined as a lake. |
Subtype |
Defines the subtype within the target dataset into which the data should be loaded. It must be populated when the source and target schemas are different and the subtypes have different codes. |
FieldMapping table
This table defines the relationship between fields in the source schema and the target schema. As a result, this table contains references to source and target dataset mapping information in the DatasetMapping table, as well as the source and target fields to be mapped.
The source-to-target schema mapping information is identified through the DatasetMapId field. There is one row for each field to be mapped between the source and target datasets. Fields in the source schema can be mapped to multiple fields in the target schema. For example, if source field A is mapped to target fields B and C, two rows would be required in the FieldMapping table that reference the same DatasetMapId.
Field |
Description |
---|---|
Id |
A unique number that is automatically generated by the database. This identifier is used by the ValueMapping table to reference the field mapping. |
DatasetMapId |
A reference to the dataset mapping record as defined by the Id field in the DatasetMapping table. |
SourceField |
The name of the field in the source schema. |
TargetField |
The name of the field in the target schema. |
WhereClause | This field allows you to conditionally map a source field to a target field if the specified WHERE clause is satisfied. The WHERE clause is applied to the source dataset. |
ValueMapping table
This table allows you to override values contained in a source field. For example, if the source schema contains a domain value of 1, but in the target schema the corresponding value is 29, you can use this table to replace the value of 1 with 29. This table is only necessary if you need to override source values.
Field |
Description |
---|---|
Id |
A unique number that is automatically generated by the database. |
FieldMappingId |
The related field map identifier. This value corresponds to the Id field on the FieldMapping table. |
FromValue |
The source value you want to overwrite. |
ToValue |
The value to which you want to map. |
AnnoSymbolIds
This table maps symbol IDs from a symbol collection in a source annotation feature class to a symbol collection in a target annotation feature class. This allows you to maintain the individual properties on each annotation feature that is loaded into the target annotation feature class.
Field | Description |
---|---|
Id | A unique number that is automatically generated by the database |
SourceDataset | The name of the source annotation feature class |
TargetDataset | The name of the target annotation feature class |
SourceSymbolId | The symbol ID for the annotation symbol in the source feature class |
TargetSymbolId | The symbol ID for the annotation symbol in the target feature class |
SDEOwner table
When working with ArcSDE data, by default, the Data Loader tool assumes you are connected to the source and target schemas as the data owner. As the owner of the data, you have privileges to append to the database and know the location of the schema, which is also known as a qualified connection to the data. If you are not connected as the data owner, then it will be necessary to populate the SDEOwner table.
The SDEOwner table allows the Data Loader tool to resolve table names by providing the data owner names, which are part of the qualified table name. The table contains two main columns, SDESourceOwner and SDETargetOwner, which allow you to specify the owner of the source schema and the owner of the target schema, respectively.
Field |
Description |
---|---|
Id |
A unique number that is automatically generated by the database. |
SDESourceOwner |
This field is optional. When you navigate to the source database using the Data Loader and you connect as the data owner, this field can be left empty. If you connect as a user that is not the data owner, you must populate this field with the data owner name for the database from which you want to load data. Remarque : The user must have read privileges for the schema from which you want to load data. |
SDETargetOwner |
This field is optional. When you navigate to the target database using the Data Loader and you connect as the data owner, this field can be left empty. If you connect as a user that is not the data owner, you must populate this field with the data owner name for the database into which you want to load data. Remarque : The user must have write privileges for the schema into which you want to load data. |
Version table
This table contains current version information for the cross-reference database. It is intended for internal use only and is only utilized by the Upgrade Cross-Reference tool to ensure that the cross-reference database is at the current version.
Field |
Description |
---|---|
Id |
A unique number that is automatically generated by the database |
Version |
The number associated with the current cross-reference version |