Relations
A Relation compares any two Values and returns a result of true or false.
They can either compare scalar values or spatial geometries.
Scalar Relationships
Scalar Relationships compare two Values (boolean, integers, real numbers, strings, or timestamps).
A Predicate using a Scalar Relationship can only return a Boolean value of True or False based on the result of comparing the two values.
Scalar Relationship |
Description |
---|---|
Begins With |
For string values, test whether the first string begins with the second string. |
Contains |
For string values, test whether the first string contains the second string. |
Ends With |
For string values, test whether the first string ends with the second string. |
Equal |
The two values are the same. |
Greater Than |
The first value is greater than the second value. |
Greater Than or Equal |
The first value is greater than the second value, or the two values are the same. |
Less Than |
The first value is less than the second value. |
Less Than or Equal |
The first value is less than the second value, or the two values are the same. |
Not Equal |
The two values are different. |
Regular Expression |
For string values, check whether the first string matches the wild card string or Perl regular expression in the second string. |
Spatial Relationships
A Spatial Relationship is a type of Relation only applied to Values that are Geometries. It returns true if the geometries have the specified Relation.
Any type of geometry can be passed into a Spatial Relationship check, but only the geometry types relevant to this Spatial Relationship will be tested. For example, if comparing areas, line geometries will not be tested.
Note: Some Spatial Relationships can be considered subsets of others. For example, "Covered By" is a subset of "Within" (if a geometry is "Covered By" another geometry, it is also "Within" that geometry).
The detailed description of each Spatial Relationship uses the terms interior, boundary, exterior.
Spatial Relationships in 3D
Most of the Spatial Relationships in 1Integrate support 3D data, and generally have the same meaning as their 2D counterparts.
Note: Spatial Relationships will behave differently if the geometry is a solid or if it is a multi-surface. for more information about full 3D data in 1Integrate, please see Full 3D Support.
Note: If you are loading 2.5D data, and not true 3D, then Spatial Relationships will be calculated in 2D. For example, 2.5D geometries will intersect if they intersect in 2D, regardless of height. To compare geometries in 3D they will nee to be loaded as True 3D Geometries
Types of Spatial Relationships
Spatial Relationship |
Description |
---|---|
Beyond |
Beyond checks that the geometry is at least a certain distance away from another (specified in dataset units). The order of the geometries does not matter. Note: Beyond is the opposite of Within Distance. Beyond supports 3D geometries. |
Covered By |
Covered By is a special case of Within. It is only true when this geometry is contained within another, and their boundaries intersect (so they share some boundary). For lines the boundary means the end points, for polygons the boundary means all inner and outer boundary rings and for solids, the boundary is the surface that makes up the shell of the solid. The types of geometries which can be covered by another are:
Note: Covered By is the reciprocal of Covers. |
Covers |
Covers is a special case of Spatial Contains. It is only true when the other geometry is contained within this one, and their boundaries intersect (so they share some boundary). For lines the boundary means the end points, for polygons the boundary means all inner and outer boundary rings and for solids, the boundary is the surface that makes up the shell of the solid. The types of geometries which can cover another are:
Note: Covers is the reciprocal of Covered By. |
Crosses |
Two geometries Crosses when a line runs across the boundary of an area, or the interior of another line. Note: At least one of the geometries must be a line. The types of geometries which can cross are:
The order of the geometries does not matter. |
Disjoint |
Disjoint means that the geometries do not intersect at all (neither the boundaries nor the interiors intersect). The order of the geometries does not matter. Note: Disjoint is the opposite of Intersects. Disjoint supports 3D geometries. |
Intersects |
Intersects means any sort of spatial interaction. Intersect supports full 3D geometries. It checks that either the boundaries or interiors of two geometries intersect in any way, using any of the following Relations:
The order of the geometries does not matter. For 3D solids, if other geometry is wholly within the interior of the solid, it is deemed to intersect. Note: Intersects is the opposite of Disjoint. |
Overlaps |
Two geometries Overlaps when two lines, areas or solids partly overlay each other. Overlap supports full 3D geometries. Overlap means geometries are partly inside and partly outside each other (so does not include being contained or being equal). The types of geometries that can overlap are:
The order of the geometries does not matter. |
Spatial Contains |
Spatial Contains means that the other geometry is completely inside this line, polygon or solid (one object's boundary and interior are inside another). Note: Their boundaries are allowed to intersect, so it includes the Covers and Spatial Equals Relations. For lines the boundary means the end points, and for polygons the boundary means all inner and outer rings. The types of geometries that can contain another are:
Note: Contains is the reciprocal of Within. |
Spatial Equals |
Two geometries are Spatial Equals when they are identical (they have the same interior, boundary and exterior). Spatial Equals supports full 3D geometries. Geometries do not need to have the same number of vertices (as long as they follow the same path, within geometric tolerance), and lines do not need to have the same direction. Polygon boundaries do not have to use the same start/end vertex in order to be equal. Note: The order of the geometries does not matter. The types of geometries which can be equal are:
|
Touches |
Touches means that the boundaries intersect but the interiors do not. Touches supports full 3D geometries. For lines the boundary means the end points, for polygons the boundary means all inner and outer boundary rings and for solids, the boundary is the surface that makes up the shell of the solid. Adjacent polygons or end-to-end lines touch. The types of geometries that can touch are:
The order of the geometries does not matter. |
Within |
Within means this geometry is completely inside the other, which must be a line or polygon. Their boundaries are allowed to intersect, so it includes the Covered by and Spatial Equals Relations. For lines the boundary means the end points, for polygons the boundary means all inner and outer boundary rings and for solids, the boundary is the surface that makes up the shell of the solid. The types of geometries which can be within another are:
Note: Within is the reciprocal of Contains. |
Within Distance |
Within Distance checks that the geometries approach within a specified minimum distance of each other (specified in dataset units). The order of the geometries does not matter. Within Distance supports 3D geometries. Note: Within Distance is the opposite of Beyond. |