The Get Geometry Relation activity determines if the given Dimensionally Extended 9-Intersection Model (DE-9IM) relation holds for the two geometries.
For more information, see DE-9IM.
The section shows examples of determining geometry relationships by utilizing the Get Geometry Relation activity.
In this example, the two geometries have at least one point in common, but unlike the Intersects scheme, their interiors do not intersect.
To test for two geometries touching:
1.In the Geometry1 field, indicate the first geometry (a).
2.In the Geometry2 field, indicate the second geometry (b).
3.In the Relations field, indicate the intersection mask string. Since Touch requires 3 masks, the Get Geometry Relation activity should be used 3 times using the following intersection masks:
a.FT*******
b.F**T*****
c.F***T****
4.If the output $geometryRelation1.incident is True, then the two geometries are touching.
In this example, the two geometries have no point in common. They form a set of disconnected geometries. Disjoint is the opposite of Intersects.
To test for two geometries that are disjointed:
1.In the Geometry1 field, indicate the first geometry (a).
2.In the Geometry2 field, indicate the second geometry (b).
3.In the Relations field, indicate the intersection mask string of "FF*FF****".
4.If the output $geometryRelation1.incident is True, then the two geometries are disjointed.
In this example, a large geometry has been created using the Geometry Picker form element. It intersects 42 geometries on the map.
To test for multiple geometries intersecting with a larger geometry:
1.Establish a Loop Activity that iterates all building geometries in the visible map's extent:
2.In the Geometry2 field, indicate a second geometry (b) .
3.In the Relations field, indicate the intersection mask string. Since Intersect requires 4 masks, the Get Geometry Relation activity should be used 4 times in the workflow using the following intersection masks:
a.T********
b.*T*******
c.***T*****
d.****T****
4.If the output $geometryRelation1.incident is True, then the two geometries are intersecting.
Geometry1 |
Required Type: esri.Geometry (3.x, 4.x)* The first geometry for the relation. |
Geometry2 |
Required Type: esri.Geometry (3.x, 4.x)* The second geometry for the relation. |
Relations |
Required The Dimensionally Extended 9 Intersection Model (DE-9IM) matrix relation (encoded as a string) to test against the relationship of the two geometries. |
* VertiGIS Studio Workflow uses different versions of Esri's ArcGIS API for JavaScript depending on the type of host application. See Underlying Technologies for information.
incident |
Type: Boolean Returns true if the relation holds on the input geometries. |
incidents |
Type: Boolean[] Returns an array of values that indicate what aspects of the relation hold. |
For information about the ID, Display Name, and Description properties, see Properties Common to all Activities.
This activity works when the device has intermittent connectivity to the network.
Supported from: Geocortex Viewer for HTML5 2.9, ArcGIS Web AppBuilder 2.4.
See also...
https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Geometry.html