Geofence
Definition
A Geofence models the extent of a geofence.
Feature Structure
- Geofence objects are Feature objects
- Geofence objects MUST have an
"id"
member with aFEATURE-ID
value - Geofence objects MUST have a
"feature_type"
member with the value"geofence"
- Geofence objects MUST have a
"geometry"
member with aPOLYGONAL
value
Property Keys
Property | Type | Description |
---|---|---|
category |
GEOFENCE-CATEGORY |
The category that best describes the function of the Geofence |
restriction |
null or RESTRICTION-CATEGORY |
The category that best describes a restriction that applies to the entire Geofence |
name |
null or LABELS |
The official name for the Geofence as declared by the Venue Organization |
alt_name |
null or LABELS |
Alternative name for the Geofence |
correlation_id |
null or UUID |
Correlation ID shared among Geofences |
display_point |
null or DISPLAY-POINT |
The curated location to use as the point-based representation of the Geofence |
building_ids |
null or JSON array of BUILDING-ID |
Unique identifier(s) of the Building(s) the Geofence possesses an explicitly defined relationship with |
level_ids |
null or JSON array of LEVEL-ID |
Unique identifier(s) of the Level(s) the Geofence possesses an explicitly defined relationship with |
parents |
null or JSON array of GEOFENCE-ID |
Unique identifier(s) of the Geofence(s) that this Geofence possesses an explicitly defined child→parent relationship(s) with |
Example
{
"id": "11111111-1111-1111-1111-111111111111",
"type": "Feature",
"feature_type": "geofence",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
},
"properties": {
"category": "geofence",
"restriction": "employeesonly",
"name": {
"en": "Employee Parking"
},
"alt_name": null,
"correlation_id": null,
"display_point": {
"type": "Point",
"coordinates": [100.0, 0.0]
},
"building_ids": ["2222222-2222-2222-2222-222222222222"],
"level_ids": [
"33333333-3333-3333-3333-333333333333",
"44444444-4444-4444-4444-444444444444"
],
"parents": null
}
}
Property Capturing Rules
BUILDING_IDS
Building references are supported to enable the explicit association of a Geofence and one or more Building.
- MUST NOT contain duplicate entries
- MUST be assumed to apply to ALL Levels of a referenced Building, including all content within or associated with those Levels, unless constrained by explicit specification of
"level_ids"
- MUST reference Buildings with Footprint geometries that are entirely or partially within the Geofence's polygonal geometry
LEVEL_IDS
Level references are supported to enable the explicit association of a Geofence and one or more Levels, typically for the purpose of constraining the applicable Levels of a Building declared in "building_ids"
.
- MUST NOT contain duplicate entries
- MUST be assumed to apply to ALL all content within, or associated with, the specified Level(s) OR the portion of those Level(s) that the Geofence's polygonal geometry overlaps
- MUST reference Levels with geometries that are entirely or partially within the Geofence's polygonal geometry
CORRELATION_ID
- MUST be present when the intent is to create an association between multiple Geofences
PARENTS
Parent references are supported to enable the creation of hierarchical Geofences where necessary.
- MUST NOT contain duplicate entries
- MUST NOT be self-referential
- MUST NOT introduce circular dependencies between Geofences