FME Transformers: 2024.1

Categories
Geometries
Related Transformers
AreaBuilder
AreaOnAreaOverlayer
DonutBridgeBuilder
DonutHoleExtractor
HoleCounter

DonutBuilder

Cuts holes in area features where they fully enclose another area, creating donut polygons.

Jump to Configuration

Typical Uses

  • Creating donut polygons

How does it work?

The DonutBuilder receives features with area geometry and constructs donut polygons by cutting holes wherever areas are contained in larger areas.

Attributes may be merged or dropped, or accumulated in a list attribute. An optional attribute may be added that indicates whether the output feature is a hole or an outer shell.

Holes may be kept or discarded.

Aggregate input features are deaggregated before processing.

Z coordinates are supported.

Input geometry and spatial relationships

Input areas must be valid and topologically clean, and must have a Contains or Within spatial relationship to successfully produce donuts. Areas that overlap or share boundaries can produce undesirable results.

Input features are not tested for appropriate spatial relationships. The SpatialRelator or SpatialFilter may be useful for filtering features prior to using the DonutBuilder.

Invalid areas will be rejected.

Nested Donuts

Donuts can be nested, such as an island in a lake on an island in a lake. The DonutBuilder will create as many donuts as there are valid donut areas.

When donuts are nested, the Hole Flag attribute will alternate with each level of nesting. The outermost area is an outer shell (Hole Flag = no), the next in is a hole (Hole Flag = yes), the next in is an outer shell, the next a hole, and so on.

When Drop Holes is Yes, areas flagged as holes are discarded, which may be undesirable when they are nested.

Examples

Usage Notes

  • The AreaOnAreaOverlayer will also cut holes in areas, creating donuts where they contain another area and modifying the boundary if areas overlap. It does not flag or discard holes, but may be the appropriate choice in some scenarios.
  • The GeometryValidator may be useful to identify invalid geometry prior to processing.

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

Group-Based

Feature Holding

Yes

Dependencies None
Aliases  
History  

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 DonutBuilder 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.