Azure Maps and GeoFence
This is a continuation of a series of articles on
operational engineering aspects of Azure public cloud computing. In this
article, we continue on the discussion on Azure Maps which is a full-fledged
general availability service that provides similar Service Level Agreements as
expected from others in the category.
Azure Maps is a collection of geospatial services and
SDKs that fetches the latest geographic data and provides it as a context to
web and mobile applications.
Specifically, it provides REST APIs to render vector and raster maps as
overlays including satellite imagery, provides creator services to enable
indoor map data publication, provides search services to locate addresses,
places, and points of interest given indoor and outdoor data, provides various
routing options such as point-to-point, multipoint, multipoint optimization,
isochrone, electric vehicle, commercial vehicle, traffic influenced, and matrix
routing, provides traffic flow view and incidents view, for applications that
require real-time traffic information, provides Time zone and Geolocation
services, provides elevation services with Digital Elevation Model, provides
Geofencing service and mapping data storage, with location information hosted
in Azure and provides Location intelligence through geospatial analytics.
Azure Maps can be helpful for tracking entry and exit into a
geographical location such as the perimeters of a construction area. Such
tracking can be used to generate notifications by email. A Geofencing GeoJSON
data is uploaded to define the construction area we want to monitor. The Data Upload API will be used to upload
geofences as polygon coordinates to the Azure Maps Account. Two logic apps can
be written to send email notifications to the construction site operations when
say a equipment enters or exit the construction site. An Azure Event Grid will
subscribe to enter and exit events for Azure Maps geofence. Two webhook event
subscriptions will call the HTTP endpoints defined in the two logic
applications. The Search GeoFence Get API is used to receive notifications when
a piece of equipment enters or exits the geofence areas.
The Geofencing GeoJSON data contains a FeatureCollection
which consists of two geofences that pertain to distinct polygonal areas within
the construction site. The first has no time expirations or restrictions and
the second can only be queried during business hours. This data can be uploaded
with a POST method call to the mapData endpoint along with the subscription
key. Once the data is uploaded, we can
retrieve its metadata to ascertain the created timestamp.
The Logic App will require a resource group and subscription
to be deployed. A common trigger function to respond when an HTTP request is
received, is sufficient for this purpose. Then the Azure Maps event
subscriptions is created. It will require name, event schema, system topic
name, filter to event types, endpoint type and endpoint. The Spatial Geofence
Get API will send out the notifications on the entry to and exit from the geofence.
Each equipment has a device id which is unique so both the entry and exit can
be noted. The get method also returns a location in the form of x,y distance
from the geofence. A negative distance will imply that the data will lie
directly within the polygon.
No comments:
Post a Comment