FME Desktop Components
FME users need to know several concepts. These concepts are necessary to create a common language among the multitude of formats FME supports. Additionally, they are required to describe the different components of FME translations.
A workspace is the primary element in an FME translation and is responsible for storing a translation definition. The workspace is the container for all the functionality of a translation. It contains the following components:
Readers and Writers
A reader is the FME term for the component in a translation that reads a source dataset. Likewise, a writer is the component that writes to an output dataset.
Readers and writers are represented by entries in the Navigator window.
Feature type is the FME term that describes a subset of records. Common alternatives for this term are layer, table, sheet, feature class, and object class. For example, each sheet in an Excel workbook, table in a database, or layer in a spatial data file is defined by a feature type in FME.
Feature types are represented by objects that appear on the Workbench canvas.
Features are the smallest single components of an FME translation.
They aren’t individually represented within a workspace, except by the feature counts on a completed translation.
Each workspace can contain multiple readers and writers, each of which can have multiple feature types, with multiple features. They exist in a hierarchy that looks like this:
Here is a table showing some examples of how common formats are treated by default in FME.
|Excel||The .xls or .xlsx file, also known as a workbook||The definition in the workspace of how to read/write the dataset||A sheet (single table) within the workbook||Row in a sheet|
|CSV||The .csv file (a single table)||The definition in the workspace of how to read/write the dataset||A single table*||Row in a table|
|Esri Geodatabase||A .gdb file or database||The definition in the workspace of how to read/write the dataset||A single ArcGIS feature class or table within the geodatabase||A single geometric feature plus attributes (e.g. a point, line, or polygon), or a row in a table|
*Note: CSV data is stored in a plain text file, with no method of subdivision. Therefore each feature type in FME represents a different CSV file, instead of different divisions in a single file. For more info on each format see the R+W documentation.
Here is a visual example using Excel. In the image below:
- Dataset = the XLS or XLSX file (a.k.a. the workbook)
- Feature types = the sheets (a.k.a. tables)
- Feature = the row (with columns as attributes)
A workspace with multiple readers, writers, and transformers might look like this:
This workspace has two readers (each with three feature types), and three writers (with one, two, and one feature types). Each reader and writer is a different format, and each has a different name for its feature types.