Enum Class FenceEnterExitSpatialRelationship

java.lang.Object
java.lang.Enum<FenceEnterExitSpatialRelationship>
com.esri.arcgisruntime.geotriggers.FenceEnterExitSpatialRelationship
All Implemented Interfaces:
Serializable, Comparable<FenceEnterExitSpatialRelationship>, Constable

public enum FenceEnterExitSpatialRelationship extends Enum<FenceEnterExitSpatialRelationship>
The spatial relationship that determines when a fence has been entered or exited.

When determining whether a feed entity has entered or exited a fence polygon, there are two spatial operations that can be used:

  • Intersects, where the geometry of the feed must intersect the fence polygon.
  • Contains, where the geometry of the feed must be contained by the fence polygon.
These operations can be used to determine whether a fence polygon has been entered, and also when it has been exited. Containment is a stricter version of intersection (e.g. when a fence polygon contains a feed entity they also intersect) so will tend to result in fewer notifications when the two geometries are nearby. By using different combinations of these rules for enter and exit you can control the likelihood that notifications will be sent.

Note that when the feed geometry is a Point there is no difference between intersection and containment so these options will not affect behavior. When using a LocationGeotriggerFeed, set FenceGeotrigger.getFeedAccuracyMode() to FenceGeotriggerFeedAccuracyMode.USE_GEOMETRY_WITH_ACCURACY in order to create a polygon geometry that accounts for the area of uncertainty around a LocationDataSource.Location.getPosition().

Since:
100.13.0
  • Enum Constant Details

    • ENTER_INTERSECTS_AND_EXIT_DOES_NOT_INTERSECT

      public static final FenceEnterExitSpatialRelationship ENTER_INTERSECTS_AND_EXIT_DOES_NOT_INTERSECT
      The fence polygon will be entered when it intersects the entity from a GeotriggerFeed and exited when it no longer intersects.

      This option will tend to increase the number of notifications sent as you approach a fence polygon. Use this option when you wish to receive all possible notifications - for example when you want to be warned that you are approaching a hazard.

      This option will have no effect unless the feed entity geometry is a Polygon. Set FenceGeotrigger.getFeedAccuracyMode() to FenceGeotriggerFeedAccuracyMode.USE_GEOMETRY_WITH_ACCURACY in order to create a polygon geometry that accounts for the area of uncertainty around a LocationDataSource.Location.getPosition().

      In the diagram below, the feed enters the fence on the left (shown in yellow) and exits on the right (shown in purple).

      diagram demonstrating the enter intersects and exit does not intersect relationship

      Since:
      100.13.0
    • ENTER_CONTAINS_AND_EXIT_DOES_NOT_CONTAIN

      public static final FenceEnterExitSpatialRelationship ENTER_CONTAINS_AND_EXIT_DOES_NOT_CONTAIN
      The fence polygon will be entered when it contains the entity from a GeotriggerFeed and exited when it no longer contains.

      This option will limit notifications to situations where the entity is fully within the fence polygon. Use this option to be certain you are within a given fence - for example when carrying out work within a specific parcel.

      This option will have no effect unless the feed entity geometry is a Polygon. Set FenceGeotrigger.getFeedAccuracyMode() to FenceGeotriggerFeedAccuracyMode.USE_GEOMETRY_WITH_ACCURACY in order to create a polygon geometry that accounts for the area of uncertainty around a LocationDataSource.Location.getPosition().

      In the diagram below, the feed enters the fence on the left (shown in yellow) and exits on the right (shown in purple).

      diagram demonstrating the enter contains and exit does not contain relationship

      Since:
      100.13.0
    • ENTER_CONTAINS_AND_EXIT_DOES_NOT_INTERSECT

      public static final FenceEnterExitSpatialRelationship ENTER_CONTAINS_AND_EXIT_DOES_NOT_INTERSECT
      The fence polygon will be entered when it contains the entity from a GeotriggerFeed and exited when it no longer intersects.

      This option will tend to minimize the number of notifications sent. The entity must be fully within the fence polygon before entering and must also be fully outside before exiting. This combination acts to reduce the number of spurious notifications that occur as you move around the border of a fence. Use this option when you wish to limit notifications - for example when driving past properties on your way to a delivery address.

      This option will have no effect unless the feed entity geometry is a Polygon. Set FenceGeotrigger.getFeedAccuracyMode() to FenceGeotriggerFeedAccuracyMode.USE_GEOMETRY_WITH_ACCURACY in order to create a polygon geometry that accounts for the area of uncertainty around a LocationDataSource.Location.getPosition().

      In the diagram below, the feed enters the fence on the left (shown in yellow) and exits on the right (shown in purple).

      diagram demonstrating the enter contains and exit does not intersect relationship

      Since:
      100.13.0
  • Method Details

    • values

      public static FenceEnterExitSpatialRelationship[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static FenceEnterExitSpatialRelationship valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null