Reader Directives: Geodatabase Feature Classes
This section describes the directives that are used when reading geometric feature classes and tables.
TRANSLATE_SPATIAL_DATA_ONLY
Required/Optional: Optional
This directive is used for translating spatial data only. When set to YES, non-spatial tables, relationships, domains, and subtypes will not be translated. If this directive is specified when generating a workspace or mapping file, then no schemas will be returned for non-spatial tables.
Parameter: <translate_spatial_data_only>
Values: YES | NO
Default Value: NO
Workbench Parameter: Spatial Data Only
Example:
GEODATABASE_MDB_TRANSLATE_SPATIAL_DATA_ONLY YES
RESOLVE_DOMAINS
Required/Optional: Optional
This directive specifies whether to resolve attributes that have a coded value domain associated with them (either a default domain, or one set up through a subtype). This means that when an attribute of a feature has a coded value domain associated with it, another attribute will also be added that represents the textual description of the coded attribute. The new attribute will be <attribute-name>_resolved, where <attribute-name> is the name of the attribute containing the code.
Parameter: <resolve_domains>
Values: YES | NO
Default Value: NO
Workbench Parameter: Resolve Domains
Example:
GEODATABASE_MDB_RESOLVE_DOMAINS YES
RESOLVE_SUBTYPE_NAMES
This directive specifies whether to resolve the subtype field of a feature. A feature that exists in a table that has subtypes will have an attribute that is the subtype field. The subtype field will hold an integer value that specifies which subtype the feature belongs to, and this integer value also has a string name equivalent called the description. If YES is specified for this directive, the corresponding description will be added as an attribute on the feature, and the attribute will be geodb_subtype_name. When set to YES during the generation of a mapping file/workspace, the schema for a table with subtypes will contain the attribute geodb_subtype_name.
Required/Optional
Optional
Parameter: <resolve_subtype_names>
Values: YES | NO
Workbench Parameter: Resolve Subtypes
Example:
GEODATABASE_SDE_RESOLVE_SUBTYPE_NAMES YES
IGNORE_NETWORK_INFO
This directive determines whether to read the network information belonging to a network feature. When set to YES, junctions will be treated as point features, and edges will be treated as polyline features, with the geodb_type being set to geodb_point and geodb_polyline, respectively.
When set to NO, Geodatabase specific attributes describing network information such as network connectivity will be inserted on the feature. The geometry of the feature remains the same regardless of the value given to this directive. The speed of reading network features is vastly improved if the network info is ignored.
Required/Optional
Optional
Parameter: <ignore_network_info>
Values: YES | NO
Default Value: NO
Workbench Parameter: Ignore Network Info
Example:
GEODATABASE_SDE_IGNORE_NETWORK_INFO YES
IGNORE_RELATIONSHIP_INFO
This directive determines whether to read relationship features present in a source dataset. When set to YES, feature types containing simple relationship will be ignored, and feature types containing attributed relationships will be treated as non-spatial tables. When set to NO, relationships will be read normally as either simple or attributed. The speed of reading features is vastly improved if relationships are ignored.
Required/Optional
Optional
Parameter
<ignore_relationship_info>
Values
YES | NO (default)
Workbench Parameter
Ignore Relationship Info
Example
GEODATABASE_SDE_IGNORE_RELATIONSHIP_INFO YES
SPLIT_COMPLEX_EDGES
Parameter: <split_complex_edges>
Values: YES | NO
Default Value: NO
Workbench Parameter: Split Complex Edges
Example:
GEODATABASE_MDB_SPLIT_COMPLEX_EDGES YES
RETRIEVE_ALL_SCHEMAS
This parameter is applicable only when generating a mapping file, generating a workspace, or when retrieving schemas in an FME Objects application.
When set to yes, schemas for all of the tables and feature classes in the database are returned.
When set to no (or missing), and if RETRIEVE_ALL_TABLE_NAMES
is similarly set to no (or missing), only schemas requested by the IDs parameter are returned.
Required/Optional
Optional
Values
YES | NO (default)
NO: The reader will return the schemas for the feature types specified in the IDs. If no features are specified in IDs, then:
- for Enterprise Geodatabases, FME will not return any schema features;
- for Personal and File Geodatabases, FME returns the schema features for all the tables.
If this value is not specified, then it is assumed to be No.
YES: Indicates to the reader to return all the schemas of the tables in the database.
Mapping File Syntax
Not applicable.
FME Objects applications would include RETRIEVE_ALL_SCHEMAS
followed by “YES” in the parameters array passed to IFMEUniversalReader::open()
.
Workbench Parameter
Not applicable
RETRIEVE_ALL_TABLE_NAMES
This parameter is only applicable when generating a mapping file, generating a workspace or when retrieving schemas in an FME Objects application.
When set to yes, and if RETRIEVE_ALL_SCHEMAS
is set to no (or missing), names for all of the tables and feature classes in the database are returned. When set to no (or missing), and if RETRIEVE_ALL_SCHEMAS
is similarly set to no (or missing), the schemas requested by the IDs directive are returned.
Note: If RETRIEVE_ALL_SCHEMAS is also set to Yes, then RETRIEVE_ALL_SCHEMAS takes precedence.
Required/Optional
Optional
Values
YES | NO (default)
Mapping File Syntax
Not applicable.
FME Objects applications would include RETRIEVE_ALL_TABLE_NAMES
followed by “YES” in the parameters array passed to IFMEUniversalReader::open()
.
Workbench Parameter
Not applicable (used when you browse a Table List)
CHECK_SIMPLE_GEOM
This directive specifies whether a check should be performed on features read from geodatabase to determine whether they are simple. This is an expensive check and impacts reader performance.
If this directive is set, the format attribute geodb_feature_is_simple is set to Yes if the geometry is simple, and No if it is not.
Required/Optional
Required
Parameter
<check_simple_geom>
Range:
YES | NO (default)
Workbench Parameter
Check for Simple Geometry
Example
GEODATABASE_MDB_CHECK_SIMPLE_GEOM YES
READ_FEAT_LINKED_ANNOS
This directive specifies whether feature-linked annotations should have their text, angle and position properties merged as attributes onto the main feature that they are linked to, when reading. If set to yes, this will produce a list attribute as detailed in the section on Annotations with all annotation attributes set and the annotation table(s) need not be read explicitly. If set to no, feature-linked annotations will be read normally as annotations when encountered.
Required/Optional
Required
Parameter
<read_feat_linked_annos>
Range
YES | NO (default)
Workbench Parameter
Merge Feature Linked Annotations
Example:
GEODATABASE_MDB_READ_FEAT_LINKED_ANNOS YES
SPLIT_MULTI_PART_ANNOS
This directive specifies whether or not to split multi-part annotations into separate features for each ‘element’ when reading. If set to yes, a single feature for each element (usually a word) in a multi-part annotation will be produced on reading, resulting in feature-specific attributes such as angle and text position being stored according to the location of each element. If set to no, multi-part annotations will be read normally, as a single feature storing a single set of attributes describing the positioning of the text.
Required/Optional
Optional
Parameter
<split_multi_part_annos>
Values
YES | NO (default)
Workbench Parameter
Split Multi-Part Annotations
Example:
GEODATABASE_SDE_SPLIT_MULTI_PART_ANNOS YES
VALIDATE_FEATURES
This directive specifies whether or not to validate features passed to the geodatabase writer. When set to ‘yes’, validation is performed on the subtype, attribute rules, relationship rules, network connectivity rules and any custom rules present on the feature class. Failed features will be logged with an extended error message describing the reason for the failure. When set to ‘no’, validation is not performed.
Required/Optional
Optional
Parameter
<validate_features>
Values
YES | NO (default)
Example:
GEODATABASE_SDE_VALIDATE_FEATURES YES
BEGIN_SQL{n}
Sometimes, you must execute some SQL statements prior to opening a table. For example, it may be necessary to ensure that a view exists before attempting to read from it.
Upon opening a connection to read from a database, the reader looks for the directive <ReaderKeyword>_BEGIN_SQL{n} (for n=0,1,2,...), and executes each such directive’s value as an SQL statement on the database connection.
Multiple SQL commands can be delimited by a character specified using the FME_SQL_DELIMITER
directive, embedded at the beginning of the SQL block. The single character following this directive will be used to split the SQL block into SQL statements, which will then be sent to the database for execution. Note: Include a space before the character.
For example:
FME_SQL_DELIMITER ; DELETE FROM instructors; DELETE FROM people WHERE LastName='Doe' AND FirstName='John'
Multiple delimiters are not allowed and the delimiter character will be stripped before being sent to the database.
Any errors occurring during the execution of these SQL statements will normally terminate the reader with an error. If the specified statement is preceded by a hyphen (“-”), such errors are ignored.
Required/Optional
Optional
Workbench Parameter
Begin SQL
END_SQL{n}
Sometimes you must execute some SQL statements after a set of tables has been read. For example, it may be necessary to clean up a temporary view after creating it in BEGIN_SQL.
Just before closing a connection on a database, the reader looks for the directive <ReaderKeyword>_END_SQL{n} (for n=0,1,2,...), and executes each such directive’s value as an SQL statement on the database connection.
Multiple SQL commands can be delimited by a character specified using the FME_SQL_DELIMITER
directive, embedded at the beginning of the SQL block. The single character following this directive will be used to split the SQL block into SQL statements, which will then be sent to the database for execution. Note: Include a space before the character.
For example:
FME_SQL_DELIMITER ; DELETE FROM instructors; DELETE FROM people WHERE LastName='Doe' AND FirstName='John'
Multiple delimiters are not allowed and the delimiter character will be stripped before being sent to the database.
Any errors occurring during the execution of these SQL statements will normally terminate the reader with an error. If the specified statement is preceded by a hyphen (“-”), such errors are ignored.
Required/Optional
Optional
Workbench Parameter
End SQL
SPLIT_COMPLEX_ANNOS
Geodatabase annotations offer a rich set of options to place text which are often not supported or do not directly translate to other formats. By enabling this option richer text representations are broken into simpler representations that preserve text style and placement.
To maintain accurate placement, text elements are split into separate features on line breaks, format changes, irregular character spacing, and on any curves. This option also implies that Multi-part annotations will be split (see SPLIT_MULTIPART_ANNOS).
Each resulting feature will have a rotation angle and a point representing the bottom left corner of the text. All the text will be bottom, left justified without an X or Y offset.
Each feature will contain all the attributes of the original text element including all the geodatabase format attributes. The annotation related format attributes represent the current part and not the original text element. An additional geodb_text_part_count format attribute is added to indicate the part index of the original text element.
Required/Optional
Optional
Parameter: <split_complex_annotations>
Values
YES | NO (default)
Workbench Parameter
Split Complex Annotations
CACHE_MULTIPATCH_TEXTURES
This directive allows the user to specify what kind of memory optimizations are used when reading multipatches with textures. If set to YES, then textures will be stored in local texture caches and no effort will be made to clean them, resulting in better performance but higher memory usage over time. If set to NO, then extra effort will be made to clear texture caches which may result in slower performance.
The default behavior to cache texture should be used in most scenarios as it will result in better performance. If, however, memory is an issue and there are many multipatch features with associated texture materials, like the buildings of a city, then consider disabling caching to improve memory usage.
Note: This directive is provided as an option to work around an existing implementation limitation. It may be deprecated in time.
Required/Optional
Optional
Parameter: <cache_multipatch_textures>
Values
YES | NO (default)
Workbench Parameter
Cache Multipatch Textures
ALIAS_MODE
This directive allows the user to specify what kind of alias handling should be performed. See the Workbench Reader Parameters for more details.
Required/Optional
Optional
Parameter
<alias_mode>
Values
NONE (default) | SCHEMA | ON_DATA_FEATURES
Workbench Parameter
Alias Mode