Geometry Support

1Integrate has support for reading different Geometry types, dependant on the type of data supplied. Specific support can be found by checking the individual Supported Data Stores but the types of geometry and capabilities supported across 1Integrate are:

Support

Description

Data Types

2D

Geometries with two ordinates (X,Y).

2.5D

Geometries with a height at each vertex, but not volumes or vertical lines or surfaces.

2D with measures

2D Geometries with measures (X,Y,M).

3D

Geometries with three ordinates (X,Y,Z).

Geometry Types

Geometries

Single or multi-part.

Polygons

Zero or multiple inner rings.

Circles and Geometries with circular Arcs

These are densified on import into a set of smaller straight line segments as an approximation of the shape of the arc or circle. This means that the circular arcs read in will be written back using the densified segment approximation.

Optimised rectangles

In Oracle, geometries are converted into a normal polygon on import.

Solids

Can only have a single surface (internal voids are not supported).

Features with Geometries that are null or fundamentally invalid are not loaded unless the Data Store is set to Allow Invalid Geometries. These can be read in to allow them to be detected or fixed.

     Note: Spatial operations on invalid geometries are not guaranteed to succeed until they are fixed.

Classes with Multiple Geometries

Some formats allow classes to hold more than one geometry. For those classes, the Read and Commit mapping needs to specify which is the Primary Geometry to be indexed.

If your data contains more than one geometry for a feature, you can set up a Rule which compares the geometries for that feature.

Reading Invalid Geometries

You can enable or disable the Allow invalid geometries option when specifying Read and Commit settings for Data Stores.

This is not enabled by default, meaning features with invalid geometries are not read in, and are counted as errors in an Open Data Task within a Session.

This allows users to identify invalid geometries and avoid them causing problems later within a Session. When enabled, it allows an Open Data task to read in the geometries even if they are invalid, allowing Rules to validate, and Actions to report and correct.

Invalid Geometries

Notes

Null geometries

 

Geometries with duplicate consecutive vertices

 

Lines with fewer than two points

 

Polygon errors

Examples include:

  • Outer rings that do not enclose inner rings

  • Self-touching rings

  • Rings that intersect other rings

  • Rings containing duplicate points

     Note: Once these features are loaded, you can then validate the data using built-in functions such as has_duplicates or is_valid in your Rules.