Collection of Geotriggers enumerations. More...
Header: | #include <GeotriggersTypes.h> |
Types
enum class | FenceEnterExitSpatialRelationship { EnterIntersectsAndExitDoesNotIntersect, EnterContainsAndExitDoesNotContain, EnterContainsAndExitDoesNotIntersect } |
enum class | FenceGeotriggerFeedAccuracyMode { UseGeometry, UseGeometryWithAccuracy } |
enum class | FenceNotificationType { Entered, Exited } |
enum class | FenceParametersType { GraphicFenceParameters, FeatureFenceParameters, GraphicsOverlayFenceParameters } |
enum class | FenceRuleType { Enter, Exit, EnterOrExit } |
enum class | GeotriggerFeedType { LocationGeotriggerFeed } |
enum class | GeotriggerMonitorStatus { Stopped, Starting, Started, FailedToStart } |
enum class | GeotriggerNotificationInfoType { FenceGeotriggerNotificationInfo } |
enum class | GeotriggerType { FenceGeotrigger } |
Detailed Description
Type Documentation
enum class 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: the feed geometry must intersect the fence polygon.
- Contains: the feed geometry must be contained by the fence polygon.
These operations determine whether a fence polygon has been entered, and also when it has been exited (the feed geometry no longer intersects or is no longer contained by the fence polygon). Because the contains condition is more strict than intersects (a geometry can intersect another geometry without being contained by it) it tends 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 both options behave the same. When using a LocationGeotriggerFeed, set FenceGeotrigger::feedAccuracyMode to FenceGeotriggerFeedAccuracyMode::UseGeometryWithAccuracy in order to create a polygon geometry that accounts for the area of uncertainty around a Location::position.
The FenceEnterExitSpatialRelationship can be one of:
Constant | Value | Description |
---|---|---|
FenceEnterExitSpatialRelationship::EnterIntersectsAndExitDoesNotIntersect | 0 | The fence polygon is entered when it intersects a GeotriggerFeed entity and exited when it no longer intersects. This option tends to increase the number of notifications as an entity approaches a fence polygon. Use this option when you want to receive all possible notifications - for example, when you want to be warned that you are approaching a hazard. |
This option has no effect unless the feed entity geometry is a Polygon. Set FenceGeotrigger::feedAccuracyMode to FenceGeotriggerFeedAccuracyMode::UseGeometryWithAccuracy to create a polygon geometry that accounts for the area of uncertainty around a Location::position.
In the diagram above, the feed enters the fence on the left (shown in yellow) and exits on the right (shown in purple).
Constant | Value | Description |
---|---|---|
FenceEnterExitSpatialRelationship::EnterContainsAndExitDoesNotContain | 1 | The fence polygon is entered when it contains the entity from a GeotriggerFeed and exited when the entity is no longer contained. This option limits notifications to when 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 land parcel. |
This option has no effect unless the feed entity geometry is a Polygon. Set FenceGeotrigger::feedAccuracyMode to FenceGeotriggerFeedAccuracyMode::UseGeometryWithAccuracy to create a polygon geometry that accounts for the area of uncertainty around a Location::position.
In the diagram above, the feed enters the fence on the left (shown in yellow) and exits on the right (shown in purple).
Constant | Value | Description |
---|---|---|
FenceEnterExitSpatialRelationship::EnterContainsAndExitDoesNotIntersect | 2 | The fence polygon is entered when it contains a GeotriggerFeed entity and exited when it no longer intersects. This option tends to minimize the number of notifications. The entity must be fully within the fence polygon to enter and must be fully outside to exit. This combination reduces the number of spurious notifications that occur as you move around the border of a fence. Use this option when you want to limit notifications - for example, when driving past properties on your way to a delivery address. |
This option has no effect unless the feed entity geometry is a Polygon. Set FenceGeotrigger::feedAccuracyMode to FenceGeotriggerFeedAccuracyMode::UseGeometryWithAccuracy in order to create a polygon geometry that accounts for the area of uncertainty around a Location::position.
In the diagram above, the feed enters the fence on the left (shown in yellow) and exits on the right (shown in purple).
This enum was introduced or modified in Esri::ArcGISRuntime 100.13.
enum class FenceGeotriggerFeedAccuracyMode
Options that describe how a FenceGeotrigger uses accuracy information from a GeotriggerFeed.
This enumeration defines options for using accuracy information from a GeotriggerFeed 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.
These values are used in conjunction with FenceGeotrigger::enterExitSpatialRelationship to affect when notifications are sent.
The FenceGeotriggerFeedAccuracyMode can be one of:
Constant | Value | Description |
---|---|---|
FenceGeotriggerFeedAccuracyMode::UseGeometry | 0 | The reported Geometry from a GeotriggerFeed is used. For a LocationGeotriggerFeed the point geometry from the Location::position property is used. |
FenceGeotriggerFeedAccuracyMode::UseGeometryWithAccuracy | 1 | The reported Geometry from a GeotriggerFeed is used in conjunction with accuracy information. For a LocationGeotriggerFeed the point geometry from the Location::position property is buffered by the Location::horizontalAccuracy to produce a polygon geometry. |
This enum was introduced or modified in Esri::ArcGISRuntime 100.13.
enum class FenceNotificationType
The type of a FenceGeotrigger that was met.
The FenceNotificationType can be one of:
Constant | Value | Description |
---|---|---|
FenceNotificationType::Entered | 0 | The feed data has entered one of the fence geometries. |
FenceNotificationType::Exited | 1 | The feed data has exited one of the fence geometries. |
This enum was introduced or modified in Esri::ArcGISRuntime 100.12.
enum class FenceParametersType
The type of a FenceParameters.
The FenceParametersType can be one of:
Constant | Value | Description |
---|---|---|
FenceParametersType::GraphicFenceParameters | 0 | The fence parameters uses Graphic data. |
FenceParametersType::FeatureFenceParameters | 1 | The fence parameters uses features from a FeatureTable |
FenceParametersType::GraphicsOverlayFenceParameters | 2 | The fence parameters uses graphics from a GraphicsOverlay |
This enum was introduced or modified in Esri::ArcGISRuntime 100.12.
enum class FenceRuleType
The rule or query that determines whether a FenceGeotrigger condition is met.
The FenceRuleType can be one of:
Constant | Value | Description |
---|---|---|
FenceRuleType::Enter | 0 | Check whether objects from the GeotriggerFeed enter the FenceParameters. |
FenceRuleType::Exit | 1 | Check whether objects from the GeotriggerFeed exit the FenceParameters. |
FenceRuleType::EnterOrExit | 2 | Check whether objects from the GeotriggerFeed enter or exit the FenceParameters. |
This enum was introduced or modified in Esri::ArcGISRuntime 100.12.
enum class GeotriggerFeedType
The type of a GeotriggerFeed.
The GeotriggerFeedType can be one of:
Constant | Value | Description |
---|---|---|
GeotriggerFeedType::LocationGeotriggerFeed | 0 | The feed uses a location data source. |
This enum was introduced or modified in Esri::ArcGISRuntime 100.12.
enum class GeotriggerMonitorStatus
The current status of a GeotriggerMonitor.
The GeotriggerMonitorStatus can be one of:
Constant | Value | Description |
---|---|---|
GeotriggerMonitorStatus::Stopped | 0 | The GeotriggerMonitor has been stopped. |
GeotriggerMonitorStatus::Starting | 1 | The GeotriggerMonitor is starting. |
GeotriggerMonitorStatus::Started | 2 | The GeotriggerMonitor has been started. |
GeotriggerMonitorStatus::FailedToStart | 3 | The GeotriggerMonitor failed to start. |
This enum was introduced or modified in Esri::ArcGISRuntime 100.12.
enum class GeotriggerNotificationInfoType
The type of a GeotriggerNotificationInfo.
The GeotriggerNotificationInfoType can be one of:
Constant | Value | Description |
---|---|---|
GeotriggerNotificationInfoType::FenceGeotriggerNotificationInfo | 0 | A FenceGeotriggerNotificationInfo. |
This enum was introduced or modified in Esri::ArcGISRuntime 100.12.
enum class GeotriggerType
The type of a Geotrigger.
The GeotriggerType can be one of:
Constant | Value | Description |
---|---|---|
GeotriggerType::FenceGeotrigger | 0 | The geotrigger checks fences. |
This enum was introduced or modified in Esri::ArcGISRuntime 100.12.