Get Geometry Relation Activity

Description

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.

 

Usage Examples

The section shows examples of determining geometry relationships by utilizing the Get Geometry Relation activity.

Example 1: Geometries that touch

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:

    1. FT*******

    2. F**T*****

    3. F***T****

  4. If the output $geometryRelation1.incident is True, then the two geometries are touching.

Example 2: Geometries that are disjointed

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.

Example 3: Multiple geometries that are intersecting with a larger geometry

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:

    1. T********

    2. *T*******

    3. ***T*****

    4. ****T****

  4. If the output $geometryRelation1.incident is True, then the two geometries are intersecting.

Inputs

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

Type: String | String[]

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.

Outputs

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.

Properties

For information about the ID, Display Name, and Description properties, see Properties Common to all Activities.

Supported Environments

Environments capable of running this activity

Server

 

Client

Web

Mobile

Experience Builder

Web AppBuilder

Geocortex Viewer for HTML5

Levels of Support:      Full Support      Partial Support      No Support

Connectivity Requirements

This activity works when the device has intermittent connectivity to the network.

Version Information

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