FenceGeotrigger class final

A Geotrigger that defines regions or fences to be monitored using a GeotriggerMonitor.

You can monitor areas of interest with a FenceGeotrigger, using spatial rules like enter or exit. This type of operation is also known as "Geofencing".

Three main components comprise a FenceGeotrigger:

  • The GeotriggerFeed that is monitored for changes - usually the device location read from a LocationDataSource.
  • The FenceRuleType that describes the check that is performed with the feed and fence data - for example, "enters within 50 meters of".
  • The FenceParameters that the feed data are evaluated against. For example, a set of polygon features representing areas of interest. The FenceParameters can cover many features or graphics that are checked.

A FenceGeotrigger can also take into account floors within buildings. If the feature table used to create the FeatureFenceParameters is referenced by a FeatureLayer that is FloorAware, and the LocationDataSource used to create the GeotriggerFeed includes LocationSourcePropertiesKeys.floor information, then fences will only be entered when they are intersected by an ArcGISLocation on the correct floor. If the fence or location data does not include valid floor information, the floor is ignored and the fence is entered when it is intersected by the location.

A floor aware feature layer or table must be part of a GeoModel that includes a valid GeoModelFloorDefinition. All layers and tables that are used by the floor definition are loaded when the GeotriggerMonitor is started.

An ArcGISLocation can contain floor property as part of ArcGISLocation.additionalSourceProperties. This is populated automatically by IndoorsLocationDataSource, or can be supplied as part of your own implementation.

Inheritance

Constructors

FenceGeotrigger({required GeotriggerFeed feed, required FenceRuleType ruleType, required FenceParameters fenceParameters, ArcadeExpression? messageExpression, String name = ''})
Constructs FenceGeotrigger with an expression and a name.
factory

Properties

enterExitSpatialRelationship FenceEnterExitSpatialRelationship
The spatial relationship that determines whether a fence polygon has been entered or exited.
getter/setter pair
feed GeotriggerFeed
The GeotriggerFeed that is monitored for changes.
no setterinherited
feedAccuracyMode FenceGeotriggerFeedAccuracyMode
Describes how a FenceGeotrigger uses accuracy information from a GeotriggerFeed.
getter/setter pair
fenceParameters FenceParameters
The FenceParameters that will be evaluated.
no setter
geotriggerId String
A unique ID for the Geotrigger.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
messageExpression ArcadeExpression?
An ArcadeExpression that controls the notification details when a Geotrigger is met.
getter/setter pairinherited
name String
The name of the Geotrigger.
getter/setter pairinherited
requestedActions List<String>
A list of strings indicating the set of requested actions when a notification is delivered.
no setterinherited
ruleType FenceRuleType
The FenceRuleType that describes the check performed with the feed and fence data.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited