Features with Multiple Geometries

In some data models, a feature class will be defined to allow it to have multiple geometries. In such models, there will always be one primary geometry and possibly many ancillary (secondary) geometries.

For example, a Building feature may have a primary geometry that is a polygon representing the building outline and a secondary geometry representing a seed point within the building. The secondaries do not need to be within the primary geometry.  

Only primary geometries can be added to a topology. When adding a layer in the style page, you specify which of the geometries to display for the layer. To display more than one geometry from a feature, you need a separate layer for each geometry (see Layers).

For features with more than one geometry, you must click on the primary geometry to select the feature, the secondary geometries are not directly selectable. If you need to access the secondary geometries (for example, to digitise one), then you need to enable the Support Secondary Geometries option under 1Edit Settings (see 1Edit Settings). If this mode is enabled, when you select a feature’s primary geometry, a pop-up menu is displayed to allow selection of the primary or secondary geometries.

For example, the primary of the Way class is a polygon and it can hold a secondary geometry in the lineGeomValue attribute. If there is no geometry in the attribute, it is shown faded but can still be selected. This is used to indicate to the system that the user wishes to digitise a geometry into the secondary geometry. 

After selecting the empty secondary geometry, the digitising class on the Create data bar is set to that of the selected feature and it shows which geometry you are about to digitise into.

You can use the digitising tools to digitise the secondary (in this case, select the digitise line tool and digitise the new line). If you select the secondary in error, de-select the feature to clear. You must set up a style that shows the secondary geometries to see them after digitising.

A style layer will add the class's primary geometry by default, however, you can select a different class for a layer. Add a layer for each of the class's geometries that you want to display.

If the secondary geometry contains a geometry, the entry in the pop-up menu is not faded and tapping on the entry selects and highlights the secondary. You can now drag vertices and so on as for primary geometries to edit the shape of the geometry, and dragging the geometry off the screen (or using the delete appbar button) clears that secondary geometry, as opposed to deleting the feature. When the secondary is empty, the digitising class is changed to indicate a secondary is selected and using one of the digitising tools, allows you to completely re-digitise the geometry from scratch.