You are here: FME Workbench > FME Architecture (Reference) > About fme_type Attributes

FME Features

To transport features from one format to another, FME considers features to be collections of attribute names and values associated with two-dimensional (2D) or three-dimensional (3D) geometry. Arbitrary dimensions will be supported in a future release. FME places no restrictions on the values or types of attributes. Attribute names consist of one or more ASCII characters.

fme_geometry

All FME features have an attribute called fme_geometry that indicates their geometry type.

The coordinates of an FME feature may contain any of the types of geometry shown in the following table.

Geometry Type Example FME Geometry Value Description
Point fme_point A single x, y and possibly z set of values representing a single point on the earth's surface.
Line fme_line A line of two or more x, y, and optionally z values. Spaghetti lines which cross them-selves are allowed, but FME always re-moves any adjacent duplicated points it finds in lines as they are read.
Polygon fme_polygon A closed ring of 2- or 3-dimensional vertices that represent an area. The first and last points are identical. The polygon may follow either the right-hand or left-hand rule.
Donut Polygon fme_donut A set of closed rings or polygons. The first ring defines the outer boundary of the area. The remaining rings must be completely in-side the outer boundary and define the “holes” in the area. No orientation rule is enforced.
Aggregate fme_aggregate A collection of distinct geometric entities, treated as a single unit. These may or may not be homogenous.
no coordinates   fme_undefined If a feature has no coordinates, its geometry type is set to fme_undefined.

fme_type

In addition to the fme_geometry attribute which indicates what the coordinates of an FME feature are, each FME feature also has an fme_type attribute which controls the interpretation of those coordinates. For example, a feature with fme_geometry of fme_point may be used to represent a point, a text object, an arc, or an ellipse. The value of the fme_type attribute is used to indicate which interpretation should be made.

The fme_type attribute can have one of a set number of values. Depending on the value of fme_type, there may be additional attributes required to fully interpret the geometry. The following table lists the allowed values for fme_type, the associated fme_geometry, and its additional attributes.

fme_type

fme_geometry

Additional Attributes

fme_arc

fme_point

fme_rotation: The rotation of the primary axis in degrees counterclockwise from the primary axis. If not set, then 0 is assumed.

fme_primary_axis: The length of the primary semi-axis of the defining ellipse measured in ground units.

fme_secondary_axis: The length of the secondary semi-axis of the defining ellipse measured in ground units. For circular arcs this value will be equal to the fme_primary_axis.

fme_start_angle:
Refer to the @Arc (function) in the FME Functions and Factories manual for a detailed definition of start_angle.

fme_sweep_angle:  
Refer to the @Arc (function) in the FME Functions and Factories manual for a detailed definition of sweep_angle.

fme_area

fme_polygon or

fme_donut or fme_aggregate

None

fme_collection

fme_aggregate

None

fme_ellipse

fme_point

fme_rotation: The rotation of the primary axis in degrees counterclockwise from horizontal. If not set, then 0 is assumed.

fme_primary_axis: The length of the primary semi-axis of the ellipse measured in ground units.

fme_secondary_axis: The length of the secondary semi-axis of the ellipse measured in ground units. For circles this value will be equal to the fme_primary_axis.

fme_line

fme_line or fme_aggregate

None

fme_no_geom

fme_undefined

None

fme_point

fme_point or fme_aggregate

None

fme_raster

fme_aggregate

None

fme_solid

fme_aggregate

None.

Note: fme_solid is the fme_type for the following geometries: IFMEExtrusion, IFMEBox, IFMEBRepSolid, IFMECSGSolid, and IFMECompositeSolid. For a description of FME Surfaces and Solids, see FME 3D Support in the FME Fundamentals help file (via the Workbench Help menu).

fme_surface

fme_aggregate

None.

Note: fme_surface is the fme_type for the following geometries: IFMEFace, IFMERectangleFace, IFMETriangleStrip, IFMETriangleFan and IFMECompositeSurface. For a description of FME Surfaces and Solids, see FME 3D Support in the help file.

fme_text

fme_point

fme_rotation: The rotation of the text in degrees counterclockwise from horizontal. If not set, then 0 is assumed.

fme_text_string: The actual annotation string.

fme_text_size: The height of the text measured in ground units.

Any features with an fme_geometry value of fme_aggregate, and an fme_type other than fme_collection must be homogeneous aggregates. An fme_type of fme_collection allows the feature to have heterogeneous aggregate geometry.

fme_feature_type

This attribute holds the feature type of the feature. This attribute has value only when coming from the reader. Setting it to a specific value when it goes into a writer will have no effect.

Some attributes are not present on features by default, but can be requested via the READER_META_ATTRIBUTES directive:

READER_META_ATTRIBUTES <requested attribute>

For example:

READER_META_ATTRIBUTES fme_feature_type

adds fme_feature_type, and

READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basename

adds fme_feature_type, fme_dataset and fme_basename.