About Feature Type Attributes
Feature type attributes are categorized into one of the following three groups:
A feature may have one or more associated format attributes. A format attribute represents an attribute that is specific to a format (for example, autocad_block_name). Format attributes are specific to your format's schema. They are not generically supported by FME and will change when translating to a different format. In general, format attributes are designed for translations to and from the same format, although advanced users may find them useful for writing to other formats when using customized workspaces.
A feature is also associated with one or more associated user attributes, which represent custom attributes that hold domain information about a feature, such as: parcel_identifier, owner_name, date_surveyed, etc. User attributes are always part of the feature no matter which format they are stored in, and hence persist when translating from one format to another.
FME (generic) Format Attributes
A particular set of Format Attributes has the prefix fme_. These attributes represent the data as it is perceived by FME and are sometimes also known as FME attributes or generic FME attributes.
How FME Processes Feature Attributes
When a translation is carried out, the following occurs:
- FME reads the source data and stores information about its features in format attributes. These format attributes reflect the data that is stored in the original source data.
- FME converts the source data’s format attributes into FME Attributes. These FME attributes reflect the source data as it is perceived within FME.
- FME writes the destination data by creating a second set of format attributes. These writer format attributes reflect the information as it will be stored in the destination data.
This is why, when a user inspects data, there are two sets of attributes.
Using this method, FME can convert from one format to another, without having to separately map the source format attributes to the destination format attributes for every format.
FME simply converts everything to an FME standard, and then from there to the Writer Format.
The benefit of using generic attributes over format-specific attributes is that they have the same meaning in all the readers and writers that support them. For example, the fme_color and fme_fill_color feature attributes represent the red, green, and blue intensities of a feature. If a format has generic color support, the reader will add both the generic FME color attributes and the format-specific color attributes to features. Writers that support generic color will give precedence to the format-specific color attributes if they are present in addition to the generic attributes.
The most important generic attributes are fme_type and fme_geometry. Both of these relate to the geometry of a feature. The Geometry class represents a feature’s positional information. Feature geometry may consist of points, lines, or areas. Features that contain multiple geometric parts are said to have an aggregate geometry. Features with no geometry are also supported.
The distinction between fme_type and fme_geometry is an important one: fme_geometry indicates the geometry type of the actual coordinates, whereas fme_type specifies how that geometry is to be interpreted. For example, a point geometry type can be interpreted as one of the following FME types: point, arc, ellipse, or text. For more information about the valid combinations of fme_type and fme_geometry for features, see the FME Geometry Model.
Additional Format Attributes
Contains a dataset's filename without the path or extension. For example, if you read two files, image1.tif and image2.tif, two features are produced: one with an fme_basename value of image1, and one with a value of image2. If these two features were then written to a PNG writer when fanning out on fme_basename, two new files would be produced: image1.png and image2.png.
Contains path of the dataset, a URL, or the name of a database.
Note: In order for attributes fme_basename and fme_dataset to be read, they must be explicitly exposed in the reader feature type or the FeatureReader transformer.
Contains a dataset's original features (for example, a file, feature class, database, or table).