You are here: Filters and Joins > ListBasedFeatureMerger

ListBasedFeatureMerger

Copies and merges the attributes/geometry from one feature (or multiple features) onto another feature (or multiple features). Features that contain the desired attributes/geometry are connected through the Supplier port, and the features that will receive the attributes/geometry are connected through the Requestor port.

A Requestor feature matches a Supplier feature when a key in the specified Requestor List Attribute (for example, 'list{}.key') matches the specified Supplier Attribute parameter (for example, 'supplierKey').

The Incomplete Requestors parameter specifies whether or not to merge Suppliers onto partially matching Requestors when there are keys in the Requestor List Attribute that have no matching Suppliers. A Requestor feature is considered fully matched if every key in the Requestor List Attribute matches one or more Supplier features.

When merging a Requestor and a Supplier, the attributes from the Supplier are merged onto the Requestor. A single Supplier may be used by many Requestors. Many Suppliers can be merged onto a single Requestor. Any merged geometry preserves arcs, ellipses and text.

Input Ports

Output Ports

Parameters

Transformer

Join Attributes

Merge Parameters

Attribute Accumulation

If attributes on the supplier and requestor feature share the same name, but are not geometry attributes that start with fme_, then they are deemed conflicted.

Generate List

Usage Notes

Relationship to InlineQuerier

The InlineQuerier is the powerful cousin of the ListBasedFeatureMerger. Whereas the ListBasedFeatureMerger joins two datasets and uses a simple, single attribute key to match features, the InlineQuerier allows any number of input datasets to be merged, using the full power of SQL across any number of tables and columns. 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 ListBasedFeatureMerger, multiple ListBasedFeatureMergers 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. Using a single InlineQuerier instead of several ListBasedFeatureMergers also simplifies the workspace.

Unless only a single ListBasedFeatureMerger is needed in a workflow, the InlineQuerier may be a better choice. Older workspaces with multiple cascading ListBasedFeatureMergers may experience a performance improvement by replacing the ListBasedFeatureMergers with a single properly configured InlineQuerier.

Relationship to SQLCreator/SQLExecutor

If all the data to be queried already exists in a SQL-capable data source, it is always more efficient to use the SQLCreator or SQLExecutor, because this allows the queries and filtering of the data to be executed directly by the database before it enters the FME environment.

Relationship to DatabaseJoiner

The ListBasedFeatureMerger joins two datasets and uses a simple, single attribute key to match features. You can concatenate attributes to simulate a multi-key join. The ListBasedFeatureMerger is also able to perform certain geometric operations on incoming features using its Feature Merge Type parameter. ListBasedFeatureMerger does all joins in memory so it can be faster than the DatabaseJoiner if you have more than one relationship on the same data. The article FME2011 Use Case: Joiner vs FeatureMerger contains a more detailed comparison of these transformers.

Relationship to FeatureMerger

This transformer is a very specific instance of the FeatureMerger dealing with the case where the Requestor attribute is a list. If the requestor attribute is NOT a list, the FeatureMerger is the transformer of choice.

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.

Tags Keywords: concatenated foreign key tag cross-reference "cross reference" FeatureMerger