Available with Data Reviewer license.
In a map display, it is likely that you will find features that spatially relate to each other, whether they are a road on a land feature or a lake surrounded by grassland. It is also possible for features from the same feature class to overlap one another and share attributes. The Geometry on Geometry check searches for features from either the same or two different feature classes that share a spatial relationship.
Spatial relationship types
The types of relationships that can be used with this check include the following:
- Touches—A part of the feature from feature class 1 comes into contact with the boundary of a feature from feature class 2. The interiors of the features do not intersect.
- Contains—A feature from feature class 1 completely encloses a feature from feature class 2.
- Intersects—Any part of a feature from feature class 1 comes into contact with any part of a feature from feature class 2.
- Relation—A custom spatial relationship is defined based on the interior, boundary, and exterior of features from both feature classes.
- Within—A feature from feature class 2 completely encloses a feature from feature class 1.
- Crosses—The interior of a feature from feature class 1 comes into contact with the interior or boundary (if a polygon) of a feature from feature class 2 at a point.
- Overlaps—The interior of a feature from feature class 1 partly covers a feature from feature class 2. Only features of the same geometry can be compared.
The combinations of geometry types and the spatial relationships that can be used are listed in the following table:
Feature class 1 | Feature class 2 | Compatible spatial relationship types |
---|---|---|
Point | Point |
|
Point | Multipoint |
|
Point | Line |
|
Point | Area |
|
Multipoint | Point |
|
Multipoint | Multipoint |
|
Multipoint | Line |
|
Multipoint | Area |
|
Line | Point |
|
Line | Multipoint |
|
Line | Line |
|
Line | Area |
|
Area | Point |
|
Area | Multipoint |
|
Area | Line |
|
Area | Area |
|
In addition to spatial analysis, the Compare Attributes dialog box optionally allows attributes between feature classes to be compared. For example, in the Nautical S-57 data model, sounding points that exist within depth area polygons must have depth (z) field values that are within the minimum and maximum depth (z) field values specified in the depth area polygon that contains them. SQL WHERE clauses can be constructed on the Compare Attributes dialog box to perform attribute comparison on the features along with spatial analysis.
Intersects or Touches and result geometries
The Geometry on Geometry check creates result geometries if features from either the same or two different feature classes share a spatial relationship. If this check uses the Intersects or Touches spatial relationship, result geometries will be points. For example, if you configure the Geometry on Geometry check to validate two polygon feature classes with the Intersect operator, all result geometries will be points. Result points will be created where polygons in the two feature classes intersect.
Inverse relationships
With the Geometry on Geometry check, you can also find features that do not share the spatial relationship or spatial and attribute relationship specified. In this scenario, the check finds features that share the spatial or spatial and attribute relationship defined in the check and returns the features from feature class 1 and feature class 2 that do not meet the criteria.
A simple scenario for this is rivers that intersect lakes. The check can be used to find rivers that do not intersect any lakes and lakes that are not intersected by rivers. Configuring the check to find this relationship only requires that you define the spatial relationship for the two feature classes and check the Not - find features not in this relationship check box.
For example, you can find lines and polygons that do not intersect and share the same subtype code. This means that if a line intersects a polygon with a different subtype code, it will be returned as a result. Lines that do not intersect a feature at all but are of a different subtype would also be returned as results. To configure the check to find this inverse relationship you would do the following:
- Define the spatial relationship for feature class 1 and feature class 2.
- Set the attribute comparison so the subtype of data source 1 is equal to the subtype of data source 2.
- Check the Not - find features not in this relationship check box.
You can find inverse relationships using the Contains, Crosses, Intersects, Overlaps, Relation, Touches, and Within relationship types.
The Relation spatial relationship
When you choose Relation as the spatial relationship type, you can compare any possible spatial intersections between two shapes based on the following three aspects:
- Interior—The entire shape, except for its boundary. All geometry types have interiors.
- Boundary—The endpoints of all linear parts for line features, or the linear outline of a polygon. Only lines and polygons have boundaries.
- Exterior—The outside area of a shape. All geometry types have exteriors.
This spatial relationship is defined using a nine-character string composed of the following characters:
- T (true)—The features have interiors, boundaries, and/or exteriors that intersect.
- F (false)—The features do not have interiors, boundaries, and/or exteriors that intersect.
- 0 (nondimensional)—The intersection between the interiors, boundaries, and/or exteriors of the features forms a point.
- 1 (one dimensional)—The intersection between the interiors, boundaries, and/or exteriors of the features forms a line.
- 2 (two dimensional)—The intersection between the interiors, boundaries, and/or exteriors of the features forms a polygon.
- * (do not check)—An aspect of the relationship between the interiors, boundaries, and/or exteriors is not checked.
The placement of the respective characters is important because it indicates what is going to be checked between the two features. For example, if the first character in the string is T, the Geometry on Geometry check looks at the interiors of features from both feature classes to see if they intersect; or if the first character in the string is 0, the check would return two line features that cross interiors at a point, but not two line features that have any congruent lengths.
The order of the characters is as follows:
Character number | Feature class 1 | Feature class 2 |
---|---|---|
1 | Interior | Interior |
2 | Interior | Boundary |
3 | Interior | Exterior |
4 | Boundary | Interior |
5 | Boundary | Boundary |
6 | Boundary | Exterior |
7 | Exterior | Interior |
8 | Exterior | Boundary |
9 | Exterior | Exterior |
Specific patterns that can be used to find specific relationships are listed in the following table:
Spatial relationship | Selection geometry | Requested geometry | String |
---|---|---|---|
Contains | Line | Line | TT*FFT*** |
Contains | Point | Line | TT*FFT*** |
Contains | Point | Point | T******** |
Contains | Line | Poly | TT*FFT*** |
Contains | Poly | Poly | TT*FFT*** |
Crosses | Line | Line | TF*FF**** |
Crosses | Poly | Line | TT**F**** |
Crosses | Line | Poly | T******** |
Overlaps | Line | Line | TT*T***** |
Overlaps | Point | Point | T******** |
Overlaps | Poly | Poly | TT*T***** |
Touch | Line | Line | FF*FT**** |
Touch | Poly | Line | FF*FT**** |
Touch | Line | Poly | FF*FT**** |
Touch | Poly | Poly | FF*FT**** |
Within | Line | Line | TF**F**** |
Within | Point | Line | T******** |
Within | Point | Point | T******** |
Within | Line | Poly | TF**F**** |
Within | Poly | Poly | TF**F**** |
Examples of strings that would be used in the Spatial Relationship text box are as follows:
Spatial relationship | String to use |
---|---|
Shares a boundary | ****T**** |
Shares a boundary and interiors intersect | T***T**** |
Shares a boundary and interiors do not intersect | F***T**** |
Does not touch the boundary and interiors intersect | T***F**** |
Boundary of a polygon intersects the interior of a line along a congruent length | ***1***** |