You are here: FME Readers and Writers > XML (Extensible Markup Language) Reader/Writer > Geometry Types > Multiple Geometry

About Multiple Geometry

A multiple geometry is a collection containing parts that are interpreted to be independent geometries. Each part is treated as its own complete geometry, separate from other parts.

For example, a multiple geometry may contain two parts, one named Area containing an area representation of a feature, and one named Point which contains a point representation of the same feature.

Nested Geometry

A nested geometry is a collection of geometries which may, in turn, contain other collections. The most common case of a nested geometry is an aggregate which contains aggregates. This nested behavior allows for the representation of hierarchical relationships between geometries. For example, a nested aggregate named House has child aggregates named Roof and Walls, where Walls is an aggregate which has four faces. Properties associated with the house as a whole may be stored at the top level, but properties that only pertain to a sub-group, such as shingle type, may belong to the child aggregate Roof.

Geometry Definitions

A geometry definition is a shared geometry that can have several geometry instances in the same or different features. A geometry instance consists of a geometry definition reference, a local origin, and a 3D affine matrix.

Geometry definitions may contain any type of geometry, including other geometry instances. When a feature containing a geometry instance is encountered by a consumer, if it is not treated as a geometry instance, it will be instantiated so that it no longer refers to the shared geometry definition but instead becomes a transformed copy of the original geometry definition.

Geometry instances are useful for complex geometries where many copies of the same object are required. For instance, in a visualization of a city, many copies of the same park bench may be used. If a single geometry definition is used, with many geometry instances, the overall file size and processing required to display the geometry will be greatly reduced than if many copies of the same geometry are used. With a single geometry definition, it is also possible to easily modify the geometry definition and subsequently update all instances of that definition without needing to modify every instance. For example, if a user wishes to change the park bench from red to blue, a modification can be made to the geometry definition and it will subsequently be reflected in all geometry instances.

Tags: MULTI_GEOMETRY, BUILD_MULTI_GEOMETRY, READ_AS_NESTED_GEOMETRY