Kinetica Database Helps Build Real-Time Location Intelligence Apps

The highly informative and detailed webinar presented by Kinetica and hosted by Geospatial World gave a glimpse in understanding the fundamentals of building real-time location intelligence apps, by talking about it’s key features and enabling technologies that include spatio-temporal databases and real-time data streaming.

The database can analyze and observe time-series and spatial data in real-time, from sensor readings, market prices, mobile phones, video footage, radar, GPS and beacons.

The workbench is the interface of kinetica, which is accessible after logging in by creating a free account.

Workbench

Real Time Location Intelligence is the ability to gather, analyse and act on location based data in real time.

Fast Spatial Analytics

Some capabilities that are important for data analysis in real-time include, the ability to connect to streaming data sources and ingest the data quickly. Another capability is fast spatial analytics, i.e to execute complex geospatial queries in real time. Then the data is exctracted from the backend side out of the database into downtream applications.

Creating The Data Sources

Under the Spatial Analytics tab of the dataset, different data sources will be used as an example. Two of them are Kafka topics with one of them being the location of vehicles in and around DC. The first task is to register all of these data sources so that the data can be interconnected. This is the data that’s being ingested.

GPS data of Trucks in and around DC

The trucks visualised are real time points within a time duration of 2 hours.

The other data set being used is table with fences( which is shown by the polygonal areas in the example) used to store a set of fences that outline major landmarks in Washington DC.

Intersections and whether GPS points are contained within the fences are some of the use cases here.

The third example of the data set used is a real time dataset of New York Taxi Trips and at the time around 36,000 record points real time were pulled in from kafka.

Real Time Data of Taxi Trips in NY

The ST Function Library

Kinetica offers more than 150 different ST functions and custom functions like entity tracking which isn’t available elsewhere. The library has a wide range of functions related to spatial geometry, data analysis, and spatial data management.

The library in Kinetica can be used to create and manipulate spatial data, perform spatial calculations and queries, generate maps and visualizations. These can be broadly classified into the 3 categories namely Computing Attributes, which is used to calculate the areas of the fences around landmarks described above.

The second category is Identifying Spatial Relationships which identifies if any functions overlap using the ST_INTERSECTS function and the third catregory is Constructing Geometries which dissolves all the overlapping boundaries into fences, to a single geometry.

A Spatial Join

Spatial joins in the above example is to identify records where a truck is within 200 meters of a particular fence. It combines two different tables using a spatial relationship.

They are also used to identify which areas overlap or where do the boundaries occur or what is the area covered by a certain feature etc. It can keep the view maintained in real time as new data streams in.

Geofencing

Geofencing is a location-based service in which a software application uses GPS, RFID, Wi-Fi or cellular data to trigger a pre-programmed action when a mobile device or RFID tag enters or exits a virtual boundary set up around a geographical location.

It is used by sending notifications to customers when they enter or leave an area, providing targeted advertising based on location, and tracking employee time and attendance.

In the data sheet, one can see a stream that is recording live locations of different trucks Washington DC, while the second is a list of fences surrounding popular DC landmarks.

The query (which identifies when a trucks GPS points falls within a fence) uses a materialized view that is set to refresh on change.

So whenever a new truck location is added to Kinetica from Kafka Stream, the results of this view are updated automatically. A downstream application that relies on these geofencing events can simply point to deliver real time event alerts.

Entity Tracking – Kinetica Exclusive Feature

Kinetica adds one another layer onto top of it which is called Entity tracking.

Tracks represent objects in motion i.e. the path that an object takes over time.  It’s a combination of track identifier, a timestamp value and X and Y coordinates to represent a path over time.Kinetica has a set of functions exclusively for entity tracking that can be used to compute attributes and to detect events such as geofencing and proximity to other tracks.

Its track representation also performs a key function, which is track interpolation, which allows to infer events such as geofencing and proximity more accurately.

If you like the article, Please share on social media

Picture of Jeffy Jacob

Jeffy Jacob

Senior Sub Editor-Geospatial World. Jeffy Jacob believes in the synergy of technology with nature. An avid reader, he affirms to the responsibility of every individual for sustainable actions in everyday life.

Related Articles