TraitMerger
Moves the traits from one geometry onto another geometry. It can also move the attributes from a feature onto a geometry as traits, or the traits from a geometry onto a feature as attributes. The TraitMerger does not support attribute-attribute merges. For merging attributes between features, use the FeatureMerger.
Features that contain the desired attributes/traits are connected through the Supplier port, and the features that will receive the attributes/traits are connected through the Requestor port.
Requestor features/geometry are joined to Supplier features/geometry when the expressions specified in the Join On parameter ALL have the same value for both the requestor and supplier.
Configuration
Input Ports
Receives the new attributes/traits from the features connected to the Supplier port.
The source of new attributes/traits for features that enter through the Requestor port.
Output Ports
Requestors that find a Supplier.
Requestors that do not find a Supplier.
Suppliers that are found by at least one Requestor.
Note: A Supplier may still be output through this port even though none of its attributes/traits were merged. This can occur because all of the attributes/traits were already present in the Requestor.
Suppliers that are not found by any Requestor.
Parameters
Specify an expression from the Requestor to match with the Supplier expression. An expression can be a constant, attribute value, trait value, function or mixture. Matches are made when the values of all the Requestor expressions equal the values of their corresponding Supplier expressions.
Requestor Type |
This parameter specifies the requestor type:
|
Requestor Geometry Part Selection |
When Requestor Type is set to Trait, this parameter controls which portions of the geometry are used as requestors. Use this parameter if you want to isolate only a portion of the geometry passed in to the transformer. If no criteria are specified, the action will apply to the entire geometry at all levels. Selection can be based on structural location, geometry name, type, appearance information, traits, trait storage types, or definition reference. The syntax used is a restricted set of XQuery, where the return clause is fixed. The basic Geometry XQuery dialog allows you to construct simple selection queries by automatically writing the necessary query based on specified test clauses. Clicking the Switch to Advanced button opens the Advanced Editor, which allows you to type a query free-form, for more expressive queries. Note: Once you switch to Advanced mode, you will have to clear all parameters before you can return to Basic mode. A hierarchical geometry is represented as nodes of type geometry, with attributes containing information about traits, type, and name for each geometry. |
Supplier Type |
This parameter specifies the supplier type:
|
Supplier Geometry Part Selection |
When Supplier Type is set to Trait, this parameter controls which portions of the geometry are used as suppliers. Use this parameter if you want to isolate only a portion of the geometry passed in to the transformer. If no criteria are specified, the action will apply to the entire geometry at all levels. Selection can be based on structural location, geometry name, type, appearance information, traits, trait storage types, or definition reference. The syntax used is a restricted set of XQuery, where the return clause is fixed. The basic Geometry XQuery dialog allows you to construct simple selection queries by automatically writing the necessary query based on specified test clauses. Clicking the Switch to Advanced button opens the Advanced Editor, which allows you to type a query free-form, for more expressive queries. Note: Once you switch to Advanced mode, you will have to clear all parameters before you can return to Basic mode. A hierarchical geometry is represented as nodes of type geometry, with attributes containing information about traits, type, and name for each geometry. |
If attributes/traits on the supplier and requestor feature share the same name, but are not geometry attributes that start with fme_, then they are deemed conflicted.
Accumulation Mode |
Merge Supplier: The requestor feature/geometry will retain all of its own un-conflicted attributes/traits, and will additionally acquire any un-conflicted attributes/traits that the supplier feature/geometry has. This mode will handle conflicted attributes/traits based on the Conflict Resolution parameter. Only Use Supplier: The requestor feature/geometry will have all of its attributes/traits removed, except geometry attributes that start with fme_. Then, all of the attributes/traits from one (arbitrary) supplier feature/geometry will be placed onto the requestor. |
Conflict Resolution |
Use Requestor: If a conflict occurs, the requestor values will be maintained. Use Supplier: If a conflict occurs, the values of the supplier will be transferred onto the requestor. |
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.
Defining Values
There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters. There are a number of tools and shortcuts that can assist in constructing values, generally available from the drop-down context menu adjacent to the value field.
Using the Text Editor
The Text Editor provides a convenient way to construct text strings (including regular expressions) from various data sources, such as attributes, parameters, and constants, where the result is used directly inside a parameter.
Using the Arithmetic Editor
The Arithmetic Editor provides a convenient way to construct math expressions from various data sources, such as attributes, parameters, and feature functions, where the result is used directly inside a parameter.
Conditional Values
Set values depending on one or more test conditions that either pass or fail.
Parameter Condition Definition Dialog
Content
Expressions and strings can include a number of functions, characters, parameters, and more.
When setting values - whether entered directly in a parameter or constructed using one of the editors - strings and expressions containing String, Math, Date/Time or FME Feature Functions will have those functions evaluated. Therefore, the names of these functions (in the form @<function_name>) should not be used as literal string values.
These functions manipulate and format strings. | |
Special Characters |
A set of control characters is available in the Text Editor. |
Math functions are available in both editors. | |
Date/Time Functions | Date and time functions are available in the Text Editor. |
These operators are available in the Arithmetic Editor. | |
These return primarily feature-specific values. | |
FME and workspace-specific parameters may be used. | |
Creating and Modifying User Parameters | Create your own editable parameters. |
Dialog Options - Tables
Transformers with table-style parameters have additional tools for populating and manipulating values.
Row Reordering
|
Enabled once you have clicked on a row item. Choices include:
|
Cut, Copy, and Paste
|
Enabled once you have clicked on a row item. Choices include:
Cut, copy, and paste may be used within a transformer, or between transformers. |
Filter
|
Start typing a string, and the matrix will only display rows matching those characters. Searches all columns. This only affects the display of attributes within the transformer - it does not alter which attributes are output. |
Import
|
Import populates the table with a set of new attributes read from a dataset. Specific application varies between transformers. |
Reset/Refresh
|
Generally resets the table to its initial state, and may provide additional options to remove invalid entries. Behavior varies between transformers. |
Note: Not all tools are available in all transformers.
FME Community
The FME Community is the place for demos, how-tos, articles, FAQs, and more. Get answers to your questions, learn from other users, and suggest, vote, and comment on new features.
Search for all results about the TraitMerger on the FME Community.
Keywords: concatenated foreign key tag cross-reference "cross reference" TraitMerger