Writer Feature Type Properties: Format Parameters
To access feature type format parameters, open the Feature Type Properties dialog by clicking the properties button on a feature type in the workspace.
These parameters apply only to a selected feature type, not to the entire writer.
Tip: If a feature type parameter listed here conflicts with a writer-level parameter, then the writer parameter will be ignored and this feature type parameter will be used.
Table Settings: General
This parameter lets the user specify how features will be written into the destination table. Supported feature operations are:
- Insert: Append rows onto the destination table using attributes on features.
- Update: Update existing table columns using attributes on features. A selection method must be specified in the Row Selection group.
- Delete: Delete existing table rows. A selection method must be specified in the Row Selection group.
- fme_db_operation: The feature operation will be determined by the attribute fme_db_operation on each input feature. A selection method must be specified in the Row Selection group. The value of fme_db_operation will be processed as follows:
- If the value is null, empty, or missing, it will be treated as Insert.
- The value will next be matched to Insert, Update, and Delete, case insensitively.
- If there is no match, the feature will be rejected.
- If there is a match, the matched feature operation will be performed on the feature.
Tip: Unlike in previous versions of FME, the fme_db_operation attribute will now cause feature rejection when Feature Operation is set to Insert, Update, or Delete. This behavior differs from previous versions of FME.
More information on Feature Operations.
Controls how the feature type handles destination tables or lists. These options are available:
- Use Existing: If destination table/list does not exist, the translation will fail.
- Create If Needed: Create destination table/list if it does not exist.
- Drop and Create: Drop destination table/list if it exists, and then create it.
- Truncate Existing: If destination table/list does not exist, the translation will fail. Otherwise, delete all rows from existing table or list. This option is not available for all formats.
Row Selection
When inserting into a table, Row Selection is ignored. When updating and deleting from a table, a condition needs to be specified for selecting which rows to operate on. This parameter group offers two methods to construct the selection condition:
The columns specified in the corresponding column picker dialog will be used for matching destination rows. All matching rows will be selected for update or delete. If any feature attributes corresponding to the specified match columns contain null or missing values, the feature will be rejected.
The corresponding WHERE Clause Builder lets you construct a WHERE clause. You can also type in a WHERE clause inline, without launching the WHERE Clause Builder. It is optional to start the clause with the keyword WHERE.
The WHERE Clause Builder makes it easy for users to reference feature attribute values, destination table columns, and invoke FME functions. The WHERE clause is first evaluated as an FME expression, before being passed onto the destination database.
If the WHERE clause is incorrect or if its evaluation results in failure, translation will fail. Otherwise, if the WHERE clause passes FME evaluation but it is SQL invalid, the feature will be rejected or the translation will fail.
For advanced users, conditional FME expressions created through the Conditional Value editor can be used to create WHERE clauses.
Tip: You can set the WHERE Clause to an attribute. This supports workspace migration and existing workflows involving fme_where. (Direct support for fme_where has been deprecated.) To advanced users who are accustomed to using fme_where, if Feature Operation is set to Update, Delete, or fme_db_operation, an fme_where attribute that conflicts with Match Columns or WHERE Clause will result in feature rejection.
Table Creation Parameters
Specifies additional parameters (for example, table allocation characteristics) to be appended to the Oracle CREATE TABLE query used to create the output table. For example, to specify a tablespace, a STORAGE clause, and a comment for a table, the following clause could be appended:
TABLESPACE myTableSpace
STORAGE (INITIAL 50K);
COMMENT ON TABLE myTable IS ‘My new table’;
Specifies the dimensions of the point cloud, which can be 2, 3, or 4.
Comparison Tolerance for Point Cloud:
- Specifies the tolerance value for objects in the point cloud.
Dimension 1/2/3/4 Coordinate:
- Minimum Dimension 1/2/3/4 Coordinate: The minimum value expected in dimension 1/2/3/4 in the dataset. Coordinate values less than this minimum are still written, however querying the spatial index outside its extents will produce undefined results. For best spatial search performance, this value should be as close to the true minimum as possible.
- Maximum Dimension 1/2/3/4 Coordinate: The maximum value expected in dimension 1/2/3/4 in the dataset. Coordinate values greater than this minimum are still written, however querying the spatial index outside its extents will produce undefined results. For best spatial search performance, this value should be as close to the true maximum as possible.
- Comparison Tolerance for Dimension 1/2/3/4 Coordinate: Specifies the comparison tolerance for the coordinates in dimension 1/2/3/4. Coordinates that are closer than this value are considered equal.
Table Settings: Point Cloud
When writing to the object model, the Oracle Spatial Point Cloud writer will create a column to hold the Point Cloud object if this parameter has a non-blank value. The default column is typically called PC, but can be changed to any other name.
Note that this parameter merely specifies a default value for the geometry column. If the table already exists in the Oracle database, then the point cloud column will be chosen from those defined on the existing table.
The block table name for the point cloud object. This table is where the point data will be stored. The default value is an automatically generated table name based on the base table name: <basetable>_BLK.
Specifies the spatial referencing information for the geometry in the table. It is specified as an integer, and corresponds to the spatial reference identifier (SRID) column in the global table MDSYS.CS_SRS.
All geometry within a given table must have the same spatial referencing. If the target table exists in the database and the value specified for this parameter does not match the value contained in USER_SDO_GEOM_METADATA, the metadata's SRID will be used in place of the specified value.
If this parameter is not specified, tables will be created with a null value for the SRID field.
Data Storage
The maximum number of points that can be inserted into a point cloud block.
The minimum resolution level at which block data will be visible. Usually, lower values mean farther from the view point, and higher values mean closer to the view point.
The maximum resolution level at which block data will be visible. Usually, lower values mean farther from the view point, and higher values mean closer to the view point.
Spatial Index
Indicates whether or not the base table’s spatial indexes are to be created as part of the data load. The valid choices for the object model are Yes and No.
If No is specified, no spatial index creation is done for the base table.
Indicates whether or not the block table’s spatial indexes are to be created as part of the data load. The only choice for the object model is Yes.
Specifies whether new spatial indexes will always be created when writing to a table.
If set to yes, the existing spatial indexes for the base and block
If set to yes, new spatial indexes will always be created for the table being written, and any existing spatial index with the same name will be dropped before it is created. Otherwise index creation will not occur when the table being written already contains an index.
Specifies the name for the spatial index that will be created on the base table. If this is not specified, a spatial index name will be created based on a database sequence and the name of the table being written.
Specifies the name for the spatial index that will be created on the block table. If this is not specified, a spatial index name will be created based on a database sequence and the name of the block table being written.
Table Settings: Advanced
This parameter specifies whether to sort points. Sorted points may potentially be clipped faster than unsorted points by some applications.
This parameter specifies the dimension on which to sort points: 1 specifies the first dimension, 2 specifies the second dimensions, and so on.