Generalizes polygonal input by connecting nearby geometries.

How does it work?

The AreaAmalgamator accepts polygonal geometries – including donuts – as input, and produces triangles that join input features into connected pieces, or amalgams. Small holes are removed at the end of this process.

The strategy for generalizing polygonal geometries is as follows:

  • Redirect non-polygonal geometries onto the Invalid port.
  • Dissolve the input polygonal geometries to remove shared boundaries and overlapping regions.
  • Densify the dissolved polygonal geometries.
  • Determine the convex hull of the densified polygonal geometries.
  • Overlay the convex hull against the densified polygonal geometries to compute empty regions between the polygonal geometries.
  • Triangulate the empty regions. Keep only triangles that are sufficiently short in length – those that satisfy the Maximum Triangle Length parameter.
  • Dissolve the triangles to form connectors.
  • For each connector, check to see if it is valid. It is valid if it shares a boundary with a dissolved polygonal geometry.
  • Output all features not touched by any connectors to the Untouched port.
  • Dissolve valid connectors with dissolved polygonal geometries to form amalgams.
  • For each amalgam, remove small holes that do not satisfy the Minimum Hole Area parameter. Remaining (large) holes are output to the Holes port.
  • For each amalgam, find all triangles that formed a part of its connectors. Output these triangles to the Triangles port.
  • Output all amalgams to the Amalgamated port.
  • For attribute behavior, please see List Name and ID Attribute in the Parameters section.

Usage Notes

Dissolving the input is necessary to remove shared boundaries and overlapping regions, with which the AreaAmalgamator cannot be expected to function properly. However, dissolving the input has some side effects:

  • If multiple input features dissolve into a single feature, then only one set of feature attributes are kept on the dissolved feature.
  • If two input geometries share a boundary – for example, two peninsulas glued together – the user might expect triangle connectors to form between the two geometries when the Binary Amalgamation mode is selected. However, such geometries will first be dissolved, making it much more likely that Binary Amalgamation will not cause triangle connectors to form between the peninsulas. To overcome this issue, please select the Self, Binary Amalgamation mode.

If the Maximum Triangle Length specified is less than Maximum Triangle Width, the results may be unpredictable.


Input Ports

Output Ports

Input Output

Triangles (red)

Amalgamated (green)

Holes (black)


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.

Dialog Options - Tables

Transformers with table-style parameters have additional tools for populating and manipulating values.

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 AreaAmalgamator on the FME Community.