Configuration Parameters
There are a number of configuration parameters in the GEODATABASE_<SDE|MDB|FILE>_DEF line that are used to define characteristics of a feature class. They are described in the following table. The configuration parameters are only needed when defining a new table. If the table already exists, it is sufficient to have the following line:
<WriterKeyword>_DEF <tableName>
When creating a new table, configuration parameters found on the table definition will override the equivalent writer directives. However, the parameters related to setting grid sizes and x,y,z origins and scales will override the writer directives only if the configuration parameter GEODB_XYSCALE is specified and not equal to zero.
Note: It is important to understand that the values from the parameter settings are assigned to the writer directives, not to the configuration parameters described in this section. This was done to prevent the problem whereby the values for the writer directives get changed in the workspace/mapping file, but never get used because they are overridden by the corresponding configuration parameters.
Parameter |
Contents |
geodb_type |
A valid geodb_type must be specified in order to determine what type of table to create. Please check the section Feature Representation for valid values of geodb_type. On DEF lines, setting the geodb_type to geodb_arc is equivalent to geodb_polyline and setting it to geodb_ellipse is equivalent to geodb_polygon. |
GEODB_UPDATE_KEY_COLUMNS |
The list of field names that are used by the writer when it is updating or deleting a feature. The value is a comma-separated list of the fields which are matched against the corresponding FME attributes’ values to specify which rows are to be updated using the other attribute values. If a corresponding attribute is not on the FME feature, then the value null will be used in the query for that particular column. In general, this should identify a unique feature but can also be used to update/delete multiple features if desired. If an update/delete is being performed and no value is assigned to this parameter, then the writer will use the object ID column to perform the update and the corresponding object ID attribute must be present on the FME feature. The following example sets the update fields to be COUNTRY and CAPITAL: GEODB_UPDATE_KEY_COLUMNS COUNTRY,CAPITAL |
GEODB_DROP_TABLE |
Specifies that the writer drop the table before writing, and create a new one. If the table does not exist, it will be created when the data is written. Note: This parameter is valid only if the feature reaches the writer. The following example sets the drop table flag to false. GEODB_DROP_TABLE NO NO Values: YES |NO |
GEODB_TRUNCATE_TABLE |
Specifies that the writer truncate the table before writing. If the table does not exist, it will be created when the data is written. Note: This parameter is valid only if the feature reaches the writer. The following example sets the truncate table flag to false. GEODB_TRUNCATE_TABLE NO NO Values: YES |NO |
GEODB_OBJECT_ID_NAME |
The name of the column containing object IDs for the current table. The name of the column must not contain any spaces. If the value conflicts with a user attribute, then the writer will ignore the user attribute and log a warning. Note: This parameter has no effect on annotation feature classes. The following example defines the column name to hold object IDs to be OBJECT_IDENT: GEODB_OBJECT_ID_NAME OBJECT_IDENT |
GEODB_OBJECT_ID_ALIAS |
The alias for the object IDs column for the current table. The alias is used in ArcMap (and possibly in other ArcGIS products) when viewing data, the object ID column will be labeled by its alias. The following example defines the alias for the object ID column name to be Primary ID. Notice the alias name must be surrounded by quotation marks ("") to support spaces. GEODB_OBJECT_ID_ALIAS “Primary ID” |
GEODB_SHAPE_NAME |
The name of the column containing the shape data for features in the current feature class. This applies only to feature classes. The name of the column must not contain any spaces. If the value, or one of its corresponding LENGTH or AREA fields, conflicts with a user attribute, then the writer will ignore the user attribute and log a warning. Note: This parameter has no effect on annotation feature classes. The following example defines the shape data column name to be Geometry: GEODB_SHAPE_NAME Geometry |
GEODB_SHAPE_ALIAS |
The alias for the shape data column. When viewing data in ArcMap (and possibly in other ArcGIS products), the shape data column will be labeled by its alias. The following example defines the alias for the shape data column name to be “Shape Geometry”. (Note that, to support spaces, the alias name must be enclosed in quotation marks.) GEODB_SHAPE_ALIAS “Shape Geometry” |
GEODB_FEATURE_DATASET |
The name of the feature dataset to which a feature class belongs. If this parameter is not specified on the DEF line, then the feature class is created as a standalone feature class. If this parameter is specified, then the feature class will be made part of the specified feature dataset, and if that dataset does not exist then it will be created. If the feature dataset is created by FME, then the values for the false origin and scale are taken from the respective writer directives (that is, the X_ORIGIN, Y_ORIGIN, Z_ORIGIN, XY_SCALE, and Z_SCALE). If a directive is not specified, then the default value for that directive is used. However, when writing to a File-based Geodatabase, these directives do not get used. Instead, default values, based on the coordinate system set, are used for the origin and resolution. The following example specifies that the feature class belongs to a feature dataset named Town: GEODB_FEATURE_DATASET Town |
GEODB_GRID{1}
|
This parameter specifies the size of the spatial index in the coordinate system of the layer. It is only applicable if a feature class is being created and is only used if the GEODB_XYSCALE parameter contains a non-zero value. The value must be a real number greater than zero.
When using the Enterprise Geodatabase or File-based Geodatabase writer, if the value is 0 or is not specified, and the value for the GRID_1 directive is 0 then the grid size will be automatically calculated. The File-based Geodatabase writer will also automatically calculate sizes for grids 2 & 3.
The following example defines a grid size of 200 for the level 1 grid: GEODB_GRID{1} 200 |
GEODB_GRID{2}
|
This optional parameter defines the level 2 grid size. If it is not desired, then the value should not be specified or should be set to 0. Before the level 2 grid size can be specified, the level 1 grid size must be specified. This parameter must be a real number greater than zero. The following example defines a grid size of 600 for the level 2 grid: GEODB_GRID{2} 600 |
GEODB_GRID{3}
|
This optional parameter defines the level 3 grid element size. If it is not desired, then the value should not be specified or should be set to 0. Before the level 3 grid size can be specified, the level 2 grid size must be specified. This parameter must be a real number greater than zero. The following example defines a grid size of 1800 for the level 3 grid: GEODB_GRID{3} 1800 |
GEODB_AVG_Num_points
|
This optional field specifies the estimated average number of points per feature. It is used in the creation of the spatial index for the feature class. If this configuration parameter is not specified, then a default value will be assigned to the feature class, depending on its geometry type. If the geometry is a point the default value will be 1; if the geometry is a multipoint, the default will be 10; if the geometry is a polyline, the default value will be 20; if the geometry is a polygon, the default value will be 40. This parameter must be an integer. For example, if a new feature class called Roads is to be created and we believe that the average number of points for a feature from the Roads feature class will be 3, then on the DEF line for the Roads feature class, we would find the following: GEODB_AVG_NUM_POINTS 3 |
GEODB_CONFIG_KEYWORD |
This optional field can be used to specify the configuration parameters of the table to be written. This directive can be used effectively if the database is accessed through ArcSDE. File Geodatabases also support configuration parameters. See the Esri ArcGIS Help documentation for valid keywords. This directive is ignored when writing to Personal database. For example: GEODB_CONFIG_KEYWORD TEST_CONFIG The default value is DEFAULTS. |
GEODB_XORIGIN
|
This is the same as the writer directive X_ORIGIN above, except this configuration parameter applies only to the table whose DEF line it is on. This parameter is only used if the GEODB_XYSCALE parameter contains a non-zero value and is only used by standalone feature classes. If a feature class is part of a feature dataset, then this parameter is ignored. The value must be a real number. For example: GEODB_XORIGIN -53040 Note: This parameter is not used by the File-based Geodatabase writer as default values are used for the domain and resolution. The default values used are dependent on the coordinate system of the feature class being created. |
GEODB_YORIGIN
|
This is the same as the writer directive Y_ORIGIN above, except this configuration parameter applies only to the table whose DEF line it is on. This parameter is only used if the GEODB_XYSCALE parameter contains a non-zero value and is only used by standalone feature classes. If a feature class is part of a feature dataset, then this parameter is ignored. The value must be a real number. For example: GEODB_YORIGIN 1043.89 |
GEODB_XYSCALE
|
This is the same as the writer directive XY_SCALE above, except this configuration parameter applies only to the table whose DEF line it is on. If this parameter does not appear or is set to 0, all the x,y,z origins and scales and the grid 1 size are taken from the writer directives, even if some of these values are supplied on the DEF line. If this value is set to a non-zero value, then all the DEF line parameters for the x,y,z scales and origins and grid 1 size must be specified. This parameter is only used by standalone feature classes. If a feature class is part of a feature dataset, then this parameter is ignored. The value must be a real number greater than or equal to 0. For example: GEODB_XYSCALE 1000 |
GEODB_HAS_Z_VALUES
|
This optional parameter specifies whether or not the features will contain Z values. The only valid values are YES and NO. For example: GEODB_HAS_Z_VALUES YES Because Geodatabase does not allow mixed 2D and 3D features in the same feature class, it is best to put a value of YES for this parameter if you have mixed dimensions. The 2D features will be forced to 3D. If you get an error message saying your feature class does not support Z values, you cannot simply add this configuration parameter to your DEF line and perform the translation again. Since this parameter is only used when a feature class is created, rather than an existing feature class being opened, you must either delete the existing feature class or translate to a new Geodatabase. If this configuration parameter is not specified, then a default value of NO will be assumed. |
GEODB_ZORIGIN
|
This is the same as the writer directive Z_ORIGIN above, except this configuration parameter applies only to the table whose DEF line it is on. This parameter is only used if the GEODB_XYSCALE parameter contains a non-zero value and is only used by standalone feature classes. If a feature class is part of a feature dataset, then this parameter is ignored. The value must be a real number. For example: GEODB_ZORIGIN 0 |
GEODB_ZSCALE
|
This is the same as the writer directive Z_SCALE above, except this configuration parameter applies only to the table whose DEF line it is on. This parameter is only used if the GEODB_XYSCALE parameter contains a non-zero value and is only used by standalone feature classes. If a feature class is part of a feature dataset, then this parameter is ignored. The value must be a real number greater than 0. For example: GEODB_ZSCALE 10 |
GEODB_HAS_MEASURES
|
This optional field specifies whether or not the features will contain measures. The only valid values are YES and NO. If this configuration parameter is not specified, then a default value of NO will be assumed. For example: GEODB_HAS_MEASURES YES |
GEODB_MEASURES_ORIGIN |
This is the same as the writer directive MEASURES_ORIGIN above, except this configuration parameter applies only to the table whose DEF line it is on. If this parameter does not appear, then the value for the directive MEASURES_ORIGIN is taken. This parameter is only used by standalone feature classes. If a feature class is part of a feature dataset, then this parameter is ignored. This parameter must be a real number. For example: GEODB_MEASURES_ORIGIN -232 |
GEODB_MEASURES_SCALE |
This is the same as the writer directive MEASURES_SCALE above, except this configuration parameter applies only to the table whose DEF line it is on. If this parameter does not appear, then the value for the directive MEASURES_SCALE is taken. This parameter is only used by standalone feature classes. If a feature class is part of a feature dataset, then this parameter is ignored. This parameter must be a real number greater than zero. For example: GEODB_MEASURES_SCALE 5489.6 |
GEODB_ANNO_REFERENCE_SCALE |
This optional field specifies what reference scale to use when creating an annotation feature class. The reference scale determines the scale at which the text’s size, on the screen, is the size indicated on each annotation feature. When the scale is larger in value than the reference scale, then the text appears smaller than that indicated on the annotation feature and vice versa. If no value is specified for this field, then FME uses first annotation feature for the annotation feature class. If the feature contains the attribute geodb_text_ref_scale then the value for the attribute is used as the reference scale. If the attribute doesn’t exist, then the default value for the attribute is used, which is 1. For example: GEODB_ANNO_REFERENCE_SCALE 12000 |
GEODB_COMPRESSION_TYPE |
This is the same as the writer directive COMPRESSION_TYPE above, except this configuration parameter applies only to the table whose DEF line it is on. If this parameter does not appear, then the value for the directive COMPRESSION_TYPE is taken. For example: GEODB_COMPRESSION_TYPE LZ77 Note: This parameter is only applicable when writing to raster datasets. |
GEODB_COMPRESSION_QUALITY |
This is the same as the writer directive COMPRESSION_QUALITY above, except this configuration parameter applies only to the table whose DEF line it is on. If this parameter does not appear, then the value for the directive COMPRESSION_QUALITY is taken. For example: GEODB_COMPRESSION_QUALITY LZ77 Note: This parameter is only applicable when writing to raster datasets. |
GEODB_PYRAMID_RESAMPLE_TYPE |
This is the same as the writer directive PYRAMID_RESAMPLE_TYPE above, except this configuration parameter applies only to the table whose DEF line it is on. If this parameter does not appear, then the value for the directive PYRAMID_RESAMPLE_TYPE is taken. For example: GEODB_PYRAMID_RESAMPLE_TYPE BILINEAR Note: This parameter is only applicable when writing to raster datasets. |
GEODB_PYRAMID_LEVEL |
This is the same as the writer directive PYRAMID_LEVEL above, except this configuration parameter applies only to the table whose DEF line it is on. If this parameter does not appear, then the value for the directive PYRAMID_LEVEL is taken. For example: GEODB_PYRAMID_LEVEL 5 Note: This parameter is only applicable when writing to raster datasets. |