You are here: Filters and Joins > FeatureJoiner

FeatureJoiner

Joins features by combining the attributes/geometry of features based on common attribute values, like a SQL join operation.

A Left feature matches a Right feature when every pair of keys specified in the Join On table has the same value. When a match occurs, attributes/geometry from the Left and Right feature are combined, and the combined feature is output to the Joined port.

Features that are not joined are output to the UnjoinedLeft or UnjoinedRight port.

Input Ports

Output Ports

Parameters

Transformer

Join Mode

Join On

Usage Notes

Relationship to FeatureMerger

The FeatureMerger originates in geometry handling and duplicate handling and collisions. The FeatureJoiner is a simpler SQL based perspective that joins features as rows. The FeatureJoiner is expected to have better performance.

With regards to attribute naming collisions, with the FeatureMerger it is possible to have an attribute that may take the value from the Requestor for some features, and the Supplier for other features (depending on naming collisions). With the FeatureJoiner, attributes will always come from the Left, or always come from the Right: there is no merging.

The FeatureJoiner does not perform some of the advanced list building or geometry handling operations that the FeatureMerger does, but these may be possible by using the FeatureJoiner plus other transformers.

Relationship to InlineQuerier

The InlineQuerier is a powerful cousin of the FeatureJoiner. Whereas the FeatureJoiner only can perform a simple join operation between two tables, the InlineQuerier can use the full power of SQL across any number of tables. Furthermore, the InlineQuerier allows its input data to be reused multiple times in a single transformer, whereas if multiple joins are to be done with a FeatureJoiner, multiple FeatureJoiner transformers must be employed and copies of the features sent to each. On the other hand, there is some overhead for the InlineQuerier to load the underlying SQLite database, so the FeatureJoiner is expected to have better performance if performing a comparable operation.

Relationship to DatabaseJoiner

The DatabaseJoiner merges input features to features from a single other source. Since more than one connection can be made to the FeatureJoiner’s input ports, features can come from multiple different sources.

Editing Transformer Parameters

Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.

Transformer Categories

Filters and Joins

Search FME Knowledge Center

Search for samples and information about this transformer on the FME Knowledge Center.