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