ChangeDetector
Detects changes between two sets of input features.
This transformer is often used with multiple readers, to identify changed features in the two files. It can identify all features that two input files have in common, and those which are in one file and not the other, such as the additions and the deletions.
Input Ports
One set of features enters the transformer via the Original port.
Another set of features enters via the Revised port.
Output Ports
An Original feature is output via the Unchanged port when it is found to have either matching geometry, matching attribute values, or both, with a feature in the Revised set.
A Revised feature with no match in the Original set is output via the Added port.
An Original feature is output via the Deleted port when no match for it can be found in the Revised set.
Parameters
This parameter controls whether 2D or 3D (or None) geometry must be the same before a match is declared.
FULL makes sure 3D, measures, and Geometry Attributes all match.
When comparing raster geometries: 2D matches the properties, 3D matches the properties and values, and FULL matches the properties, values and geometry traits.
When comparing surface and solid geometries: 2D behaves the same way as 3D, that is, z values will also be compared.
If this parameter is set to Yes, then the order of points in area features will be ignored.
Composition differences between paths and lines will be ignored. For example, consider two lines, each with 10 vertices: One line is a path composed of 3 segments, and the other is just a simple line. These lines are considered to have a different composition. Lenient geometry matching will treat all these as matching, as long as they have the same vertices (no more and no less). Strict geometry matching will say they do not match.
True arcs and ellipses versus their stroked polygon equivalents will be ignored in Aggregates, Polygons, Donuts, Paths, and all other multis.
This transformer does not support surfaces or solids in the input if this parameter is set to Yes.
In conjunction with Selected Attributes, this parameter controls which attributes of input features must have the same value before a match is declared.
- Match Selected Attributes: the attributes specified in the Selected Attributes parameter will be matched.
- Match All Except Selected Attributes: all attributes will be matched, except those specified in Selected Attributes.
With this option, matching is only performed on exposed attributes (those visible in the Selected Attributes pick list). As a result, to perform matching on all attributes except unexposed format attributes, select this option and leave the Selected Attributes parameter empty. - Match All Attributes: all attributes will be matched, including unexposed format attributes.
This parameter is applicable when Attribute Matching Strategy is set to Match Selected Attributes or Match All Except Selected Attributes, and specifies which attributes to match, or exclude from the match, depending on the matching strategy chosen.
If this parameter is set to No, then empty, missing, and null attributes will be treated as equivalent. If this parameter is set to Yes, then empty, missing, and null attributes will be considered as pairwise different. This parameter applies to attributes as well as geometry traits.
Note: This parameter has no effect when using lenient geometry matching.
When geometry is being matched, Extra Vertex Tolerance can allow for extra vertices along line segments.
A value of 0 means that no such extra vertices are permitted. A nonzero value controls how close any extra vertices must be to the line connecting the adjoining matching vertices.
For surface and solid geometries, Extra Vertex Tolerance is ignored and assumed to be 0.0.
Example
Related Transformers
The ChangeDetector may require a significant amount of processing time, depending on the number of features and/or attributes. Alternatively, consider using the CRCCalculator to calculate a CRC value for each feature, then perform a match only on the CRC value attribute.
The Matcher provides a more general approach, which may be more convenient for certain applications.
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
Technical History
Associated FME function or factory: MatchingFactory
Search FME Community
Search for samples and information about this transformer on the FME Community.