Fence Geotrigger
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 Location.SourceProperties.Keys.floor information, then fences will only be entered when they are intersected by a Location 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.
A Location can contain floor property as part of Location.additionalSourceProperties. This is populated automatically by IndoorsLocationDataSource, or can be supplied as part of your own implementation.
Since
200.1.0
Constructors
Constructs FenceGeotrigger with an expression and a name.
Properties
The spatial relationship that determines whether a fence polygon has been entered or exited. There are two spatial operations you can use to determine whether a feed entity has entered or exited a fence polygon.
Describes how a FenceGeotrigger uses accuracy information from a GeotriggerFeed. This property controls how the accuracy information from a GeotriggerFeed is used to provide the Geometry for checking a Geotrigger condition. In particular, you can choose how to use the Location.horizontalAccuracy property to reflect the uncertainty around a fixed Location.position. Due to various factors, GPS positions may be inaccurate, with Location.horizontalAccuracy representing a radius that defines the area containing the actual location. Spurious notifications may occur when the Location.position is inaccurate and is incorrectly reported as inside or outside of a fence. You can use the Location.horizontalAccuracy to account for that uncertainty.
The FenceParameters that will be evaluated. For example, a set of polygon features representing areas of interest. The FenceParameters can cover many features or graphics that will be checked.
The FenceRuleType that describes the check performed with the feed and fence data. The rule controls the spatial query that will be used - for example "enter" or "exit".
Inherited properties
The GeotriggerFeed that is monitored for changes. You can construct a LocationGeotriggerFeed from any LocationDataSource. Typically, this shows the device location based on GPS, but can be any LocationDataSource.
A unique ID for the Geotrigger.
An ArcadeExpression that controls the notification details when a Geotrigger is met. The expression uses the Arcade language to generate notification information that can be:
The name of the Geotrigger.
A list of strings indicating the set of requested actions when a notification is delivered. This property shows the full list of recommended actions that the Geotrigger author intends to be taken. Note that there is no requirement to take any action when a notification is delivered, but these provide a way to understand the Geotrigger author's intention. Use this property to: