AreaAmalgamator
Generalizes area geometry by connecting and combining neighboring features and/or filling in holes and details.
Typical Uses
- Reducing complexity
- Creating amalgamated features for labeling
- Optimizing geometry for different scales
How does it work?
The AreaAmalgamator receives features with area geometry and generalizes them, reducing complexity and connecting nearby features.
Areas can be amalgamated with other areas, with themselves (generalizing irregularly shaped areas), or both. Features are generally dissolved before processing, which may be overridden.
Connections are created by triangulating within the possible connecting space (the interior of a convex hull) and using those triangles to build connecting geometry. Triangles are controlled by two parameters:
- Maximum Triangle Width controls the density of triangles created along feature boundaries, affecting the level of detail versus coarseness of the connecting geometry. Width is measured on the side of the triangle that lies along the feature boundary.
- A maximum width that is less than the distance between coordinates on the feature will increase the number of triangles, which may produce finer detail in some cases but may increase processing time.
- A maximum width that is greater than the distance between coordinates will have no effect.
- Maximum Triangle Length: Controls which triangles are kept to create connecting geometry, which determines whether or not features are connected based on their proximity. Length is measured on the longest side of the triangle.
Donut polygons are supported, and holes in the output amalgams may be kept or removed based on their area.
Unique IDs may be generated for amalgams which also identify related holes and triangles. Attributes from input features may be accumulated into a list attribute.
Features that overlap or share boundaries are, by default, dissolved before amalgamation, which may be overridden. If Dissolve Input is No, any resulting overlapping areas will not be amalgamated. This may include areas that shared a boundary prior to triangulation.
Amalgamation Basics
Basic amalgamation is performed as follows.
Input
|
Area features are input. |
|
Convex Hull
|
The convex hull containing all features is calculated. |
|
Area to triangulate
|
The area within the hull but excluding the input features is determined. |
|
Triangulate
|
This area is triangulated. The width of the triangles can be adjusted with the Maximum Triangle Width parameter. Width is the side that lies along the input feature’s boundary. |
|
Connect
|
Triangle length is evaluated, and those under the Maximum Triangle Length parameter value are used to create connections. Length is the longest side of the triangle. |
|
Output
|
Amalgamated and Untouched features are output. |
|
Amalgamation Modes
Features may be amalgamated with themselves, each other, or both.
Input features |
Two islands are input. Note the inlets and level of detail along the coastlines. |
|
Self Amalgamation |
The features are only processed individually, and neighboring features are not connected. Connecting triangles fill in the long inlet on the upper island, and generalize the coastline of the lower one. |
|
Binary Amalgamation |
The features are processed against other features, but not themselves. The islands are connected together. The original inlets and coastline detail remain intact because self-amalgamation was not performed. |
|
Self, Binary Amalgamation |
Both types of amalgamation are done. Binary amalgamation connects the islands together, and self-amalgamation generalizes the coastline and fills in the long inlet. |
|
Holes
Donut holes may be present in input features or produced during amalgamation.
In either case, Minimum Hole Area determines whether they are kept or dissolved. Holes smaller than the minimum value are dissolved.
Input features |
This group of islands is to be amalgamated.The coordinate system is UTM, with ground units in meters. Amalgamation Mode is Self, Binary Amalgamation. |
|
Minimum Hole Area = 100000 |
Holes appear where the triangulation results exceed the specified Maximum Triangle Length of 1000 meters. Holes of 100,000 square meters or larger are kept as donut holes in the amalgamated area. The amalgam is output as a donut polygon, and the holes are output separately as individual polygons. |
Amalgamated
Holes
|
Minimum Hole Area = 10000000 |
The minimum is greater than the area of any holes. All holes are dissolved. |
Amalgamated
|
Attributes
Attributes are removed from Amalgamated output features.
A list attribute may be created to retain attributes from all input features contributing to an amalgam, and unique IDs may be generated and added as an attribute.
Where features are dissolved (Dissolve Input > Yes), attributes values are retained from one of the dissolved features, which is arbitrarily selected. Dissolving is performed on both overlapping areas and areas with shared boundaries.
Untouched features keep their attributes.
Usage Notes
- Dissolve Input can result in lost attribute values. Using a Dissolver prior to the AreaAmalgamator can provide finer control and list attribute generation.
- If the Maximum Triangle Length specified is less than Maximum Triangle Width, the results may be unpredictable.
Creating and Modifying Area Features
These transformers work with polygons in a variety of ways.
Configuration
Input Ports
Output Ports
Parameters
Editing Transformer Parameters
Transformer parameters can be set by directly entering values, using expressions, or referencing other elements in the workspace such as attribute values or user parameters. Various editors and context menus are available to assist. To see what is available, click beside the applicable parameter.
For more information, see Transformer Parameter Menu Options.
Reference
Processing Behavior |
|
Feature Holding |
Yes |
Dependencies | None |
Aliases | Amalgamator |
History |
FME Community
The FME Community has a wealth of FME knowledge with over 20,000 active members worldwide. Get help with FME, share knowledge, and connect with users globally.
Search for all results about the AreaAmalgamator on the FME Community.
Examples may contain information licensed under the Open Government Licence – Vancouver, Open Government Licence - British Columbia, and/or Open Government Licence – Canada.