Geometry Handling

FME_GEOMETRY_HANDLING

Notes:
Before the release of FME 2009, this directive was called FME_USE_RICH_GEOMETRY. It has been renamed to more accurately reflect its function in FME.

It is important to understand that, for the most part, the addition of the enhanced geometry model will be transparent to users. You will not have to change the way you use FME or set up a mapping file. The only visible difference should be improved output (if there was room for improvement).

Enhanced geometry provides FME with the capability to handle very complex geometry types, such as polygon features whose boundaries include arc features. It also provides the ability to truly hold measures.

The FME_GEOMETRY_HANDLING global directive is used by FME to signal whether to produce improved geometric results, where possible.

The directive only sets the enhanced geometry mode in readers and factories/functions/transformers that were built before the inception of the enhanced geometry model in FME 2006. Most readers, factories, functions and transformers developed after FME 2006 were built using the enhanced geometry model and hence are not affected by this global directive. In addition, the directive does not guarantee that all features output by a reader/function/factory/transformer will be enhanced; only where it is beneficial. For example, the Shape Reader will only output enhanced geometries if the source shapefile contains measures.

Writing of enhanced geometry is handled automatically by all writers. Those writers with native enhanced geometry support will take advantage of the more complex geometries that can be represented, and will maintain, within the constraints of the format, the geometry passed to it. Writers that support only classic geometry will automatically convert any enhanced geometry into classic geometry. This means any geometry (i.e., enhanced or classic) can be sent to any writer. To fully take advantage of writers with enhanced geometry support, features with enhanced geometry must be passed to them. The simplest way to accomplish this is to use a reader developed after FME 2006 and/or set the FME_GEOMETRY_HANDLING directive to YES.

The default for this directive is NO. To use the enhanced geometry mode, set the directive to YES. For example:

FME_GEOMETRY_HANDLING YES

If the directive is set to NO or is missing, the mapping file/workspace/FME Objects application will use classic geometry mode. This means existing workspaces/mapping files/FME Objects applications will produce the same results as they did before the introduction of the enhanced geometry mode.

In Workbench and the Viewer, the FME_GEOMETRY_HANDLING option is called Geometry Handling, and valid values for this parameter are Enhanced and Classic. To set this in Workbench, go to the Navigator pane, choose Advanced Settings > Geometry Handling. In the Viewer, select View > Options > Geometry Handling. The default mode is Classic in Workbench and Enhanced in the Viewer.

See the documentation of applicable readers, factories, functions and transformers to find more details on how their behavior will change when the geometry mode is set to Enhanced.

For more information on the differences between enhanced geometry and classic geometry handling, visit www.fmepedia.com and search Geometry Model.