Geofencing GeoJSON data
The Azure Maps GET Geofence and POST Geofence APIs allow you to retrieve proximity of a coordinate relative to a provided geofence or set of fences. This article details how to prepare the geofence data that can be used in the Azure Maps GET and POST API.
The data for geofence or set of geofences is represented by Feature Object and FeatureCollection Object in GeoJSON format, which is defined in rfc7946. In Addition to it:
- The GeoJSON Object type can be a
FeatureObject or aFeatureCollectionObject. - The Geometry Object type can be a
Point,MultiPoint,LineString,MultiLineString,Polygon,MultiPolygon, andGeometryCollection. - All feature properties should contain a
geometryId, which is used for identifying the geofence. - Feature with
Point,MultiPoint,LineString,MultiLineStringmust containradiusin properties.radiusvalue is measured in meters, theradiusvalue ranges from 1 to 10000. - Feature with
polygonandmultipolygongeometry type does not have a radius property. validityTimeis an optional property that lets the user set expired time and validity time period for the geofence data. If not specified, the data never expires and is always valid.- The
expiredTimeis the expiration date and time of geofencing data. If the value ofuserTimein the request is later than this value, the corresponding geofence data is considered as expired data and is not queried. Upon which, the geometryId of this geofence data will be included inexpiredGeofenceGeometryIdarray within the geofence response. - The
validityPeriodis a list of validity time period of the geofence. If the value ofuserTimein the request falls outside of the validity period, the corresponding geofence data is considered as invalid and will not be queried. The geometryId of this geofence data is included ininvalidPeriodGeofenceGeometryIdarray within geofence response. The following table shows the properties of validityPeriod element.
| Name | Type | Required | Description |
|---|---|---|---|
| startTime | Datetime | true | The start date time of the validity time period. |
| endTime | Datetime | true | The end date time of the validity time period. |
| recurrenceType | string | false | The recurrence type of the period. The value can be Daily, Weekly, Monthly, or Yearly. Default value is Daily. |
| businessDayOnly | Boolean | false | Indicate whether the data is only valid during business days. Default value is false. |
- All coordinate values are represented as [longitude, latitude] defined in
WGS84. - For each Feature, which contains
MultiPoint,MultiLineString,MultiPolygon, orGeometryCollection, the properties are applied to all the elements. for example: All the points inMultiPointwill use same radius to form a multiple circle geofence. - In point-circle scenario, a circle geometry can be represented using a
Pointgeometry object with properties elaborated in Extending GeoJSON geometries.
Following is a sample request body for a geofence represented as a circle geofence geometry in GeoJSON using a center point and a radius. The valid period of the geofence data starts from 2018-10-22, 9AM to 5PM, repeated every day except for the weekend. expiredTime indicates this geofence data will be considered expired, if userTime in the request is later than 2019-01-01.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId" : "1",
"subType": "Circle",
"radius": 500,
"validityTime":
{
"expiredTime": "2019-01-01T00:00:00",
"validityPeriod": [
{
"startTime": "2018-10-22T09:00:00",
"endTime": "2018-10-22T17:00:00",
"recurrenceType": "Daily",
"recurrenceFrequency": 1,
"businessDayOnly": true
}
]
}
}
}
Tilbakemeldinger
Send inn og vis tilbakemelding for