Esri Geodatabase (File Geodb) Writer Parameters
Note: The values populated in this parameter box set the values for writer parameters and for feature type parameters. Since some feature type parameters have equivalent writer-level parameters, the parameter box value will be used in two places.
The feature type parameters take precedence over writer parameters. The only time the writer-level parameters will be used is when there is no equivalent feature type parameter, or if the parameter was not supplied.
Database Connection
Select the File Geodatabase folder.
- If this option is unchecked (default) and a database already exists, then tables and features are written to the existing database.
- If this option is checked, any existing database is deleted before writing begins.
If no database exists when writing begins, a new database is created.
Note: After a database is deleted, it cannot be recovered – all data is lost.
If a template File Geodatabase is specified, the writer will make a copy of the template into the location specified in the Dataset parameter. All operations will be performed on the copy while the original template File Geodatabase remains unchanged.
The parameter is available only when Overwrite Existing Database is enabled.
Note: Since it is doing a complete copy, any data present in the template will also be copied to the destination. To remove unwanted data from tables or feature classes, set Truncate Table to Yes on each feature type. Alternatively, to copy only schema and not data, use ArcGIS to export the schema to an XML Workspace Document, then set the writer to import the resultant schema with the Import XML Workspace Document (Schema Only) parameter (below).
If specified, the writer will import the complete schema from the Esri XML workspace document specified into the destination Geodatabase. The import occurs after opening the Geodatabase for writing, but before any tables are created or features are written. Any error that occurs during import will cause the translation to fail.
Note: The XML Workspace document may contain both schema and data; however, FME imports only the schema.
Indicates which transaction mechanism the Geodatabase writer should use. Within ArcGIS, there are currently two transaction mechanisms: edit sessions and (regular) transactions. An edit session corresponds to a long transaction. During an edit session, edits made by other users do not become visible until the edit session is ended. If a translation does not complete successfully and the Geodatabase writer is using an edit session, then all the edits will be discarded.
- Edit Session: Starts an edit session and then ends it when the translation is finished. This value should be used when edits are made to the tables that have custom behavior associated with them.
- Transactions: Starts the (regular) transaction mechanism. This can be used only when writing to non-versioned tables that do not have custom behavior.
- None: No transaction mechanism is used. This can be used only when writing to non-versioned tables that do not have custom behavior.
Geometry Settings
ArcGIS geometry has to satisfy certain constraints to be considered valid. For example, polygons must have more than 2 vertices. This parameter allows you to specify whether geometry that breaks those constraints will be simplified to ensure only valid geometry is written.
Note that simplifying geometries can be resource-intensive.
For details on the conditions for invalid geometry and how it is simplified, please refer to ArcGIS documentation: Simplifying a Geometry and Calling the Simplify Method.
Determines whether or not the dataset contains z coordinates. Valid values are Yes, No, or Auto Detect. The default is Auto Detect.
Because Geodatabase does not allow mixed 2D and 3D features in the same feature class, it is best to choose a value of Yes for this parameter if you have mixed dimensions. The 2D features will be forced to 3D.
When set to Auto Detect, the writer determines the dimension of the feature class by checking the dimension of the first feature headed for that feature class.
Advanced
This parameter determines what version of Geodatabase should be created: 9.3, 10.0, or CURRENT (which is the default).
The value to use for the Z coordinate(s) when writing a 2D feature to a 3D feature class. If this parameter is not specified, a default value of 0 is used.
This statement instructs the Geodatabase writer on the type of mode in which it is to operate. When the Writer Mode parameter is set to Update or Delete, the writer will check to see if the attribute fme_db_operation exists on the feature. A value of Insert for this attribute means the feature will be inserted with no extra update processing; a value of Update means the feature will be updated; and a value of Delete means the feature will be deleted. If the attribute is set to any other value, the translation will be aborted and an error message logged.
Note: For more information on this parameter, see Writer Mode.
Transactions do not get used unless the Transaction Type parameter is set to Transactions. This parameter instructs the Geodatabase writer when to begin to write features to the Geodatabase.
The writer does not write any features to the Geodatabase until a feature is reached that belongs to <last successful transaction> + 1. Specifying a value of 0 causes the Geodatabase writer to use transactions and to write every feature to the Geodatabase. Usually, the value specified is 0 – a positive non-zero value is only specified when a data load operation is being rerun.
If this parameter is not specified and transactions are being used (that is, the Transaction Type parameter is set to Transactions), then a default value of 0 is used.
The number of features that FME places in each transaction before a transaction is committed to the database.
Default: 1000
When Transaction Type is set to Edit Session, this value is used to determine how many features to place in each edit operation within the edit session.
Note: The current transaction is committed and a new transaction is started whenever a new table is created or opened, even if the transaction interval was not reached.
This parameter tells the writer whether it should ignore features that would usually cause the translation to fail. This includes features that are topologically incorrect, are not supported by the Geodatabase writer, or conflict with the definition of the table to which it is to be inserted (that is, they are outside of the geometry envelope specified by the feature class). Additionally, the writer will also ignore polygons, donuts, or aggregates of polygons/donuts that cannot be reoriented.
The default setting is No, which means that failed features are not ignored and will cause the translation to fail when encountered.
If this parameter is set to Yes, the three other associated parameters (described below) are enabled: Max Number of Features to Ignore, Dump Failed Features to File, Failed Feature Dump Filename.
This parameter sets the number of features to ignore before causing a translation to fail due to a problematic feature. (However, the translation may still fail for other reasons.)
This parameter is only valid if Ignore Failed Features is set to Yes.
Values: To ignore all failed features: -1; otherwise 0 or a positive integer.
This parameter allows you to store the failed features to an FFS file for later viewing.
This parameter is only valid if Ignore Failed Features is set to Yes.
This parameter allows you to specify an FME Feature Store (FFS) file to store any failed features.
This file will be created automatically, but will only be created if there is a failed feature.
Note: If the writer encounters a failed feature and writes to this file, and if a file with the same name already exists, the existing file will be overwritten.
This parameter is required when Dump Failed Features to File is set to Yes.
Values: path and filename
If either the path or the filename contains a space, the value must be enclosed in double quotation marks. The filename must end in the extension .ffs.
Specifies which map units should be used when creating a new annotation feature class. Its value will be applied to all annotation feature classes created by the writer identified by the writer keyword.
A Multi-Writer should be used when annotation feature classes with different map units need to be created. This parameter is not used when opening an existing annotation feature class. If the writer creates an annotation feature class, and this parameter is set to unknown_units (the default value), then the writer tries to determine which type of unit the spatial reference uses and sets Annotation Units to the closest unit that is greater than or equal to it (with respect to its meters per unit value). If a local/unknown coordinate system is used, the units are set to meters.
Determines whether or not the dataset contains measures. The value of this parameter will be overridden by the Feature Type parameter GEODB_HAS_MEASURES if a value is specified for it.
Default: No
Note: This parameter is used only when creating new feature classes.
If set to Yes, the output Geodatabase is compacted. Compacting cleans up storage of records in files by eliminating empty space. For details on the conditions for invalid geometry and how it is simplified, please refer to ArcGIS documentation: Compact.
Determines whether to perform validation on features being written to the geodatabase.
- 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.
- No: Validation is not performed.
Determines whether to perform simplification on network features being written to the geodatabase.
This parameter allows you to execute ad-hoc SQL before opening a table. For example, it may be necessary to ensure that a view exists prior to 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, 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.
This parameter allows you to execute ad-hoc SQL after closing a set of tables. For example, it may be necessary to clean up a temporary view after writing to the database.
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, 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.