Clean & transform location data into geospatial time series.

Geofilter accepts location data via FTP file uploads or HTTP requests. GIS functions clean, transform and aggregate the data into streams of geo time series, trip segments, route maps and address elements.

Geofilter overview

Uses

Vehicle Tracking - IoT

GPS devices used for vehicle tracking are susceptible to errors caused by signal reflections from buildings, system clock errors and static navigation-jumps when stationary. Geofilter can accept high volume data from GPS devices and smoothen it by removing outliers. Auto trip detection and address geocoding produce clean trip segments and route maps. We built Geofilter using our experience in building fleet tracking systems for OBDII GPS trackers manufactured by Teltonika and Queclink.

Mobile Apps

Apps with geolocation tracking can use Geofilter to clean and enrich data. React Native Background Geolocation by TransistorSoft is a popular, battery conscious location tracking SDK for Android and IOS. Geofilter has inbuilt support for the file formats produced by the SDK. You can directly send data from mobile apps to Geofilter instance.

React Native Background Geolocation
GIS backend for React Native Background Geolocation by Transistorsoft
https://github.com/transistorsoft/react-native-background-geolocation

Mapping & Visualisation

Auto trip detection feature identifies trips or journey segments in the location data. Geofilter produces GeoJSON LineStrings and Google Polylines representing routes. You can use GeoJSON and polylines for mapping and visualising routes on Google Maps, Leaflet mapping library etc.

Batch geocoding

Match every data point to the nearest OpenStreetMap address. Geofilter can reverse geocode any volume of records with worldwide OpenStreetMap address coverage. Throughput is limited only by the capabilities of AWS server instance type you choose.

One click GIS backend

We built Geofilter on Postgres PostGIS open-source tech stack. You can spin up a GIS backend in minutes when prototyping or building an MVP. We use it in production as a backend for web and mobile apps. Mobile apps or GPS devices send data to Geofilter instance. We then use API methods to pull data into the Firebase backend used by our mobile and web apps.

Features

Stream processor

Receive location via HTTP post. Flexible data schema.

File processor

Receive location data via file uploads. Accepts fixed width, delimited or JSON data. Write declarative file format specification to process your custom format files.

Filter: Clock skew

Timing error indicates GPS fix issues. Usually reported location is also wrong in such cases.

Filter: Accuracy

Filter out records below defined accuracy thresholds. This filter uses accuracy indicators reported by GPS devices.

Filter: Static navigation

Static navigation is the drift in locations recorded by a stationary GPS device. Multi-path signals reflected off nearby objects can cause such errors. When visualised you see spikes around the actual coordinates.

A static navigation example from StackOverflow:

Static navigation
Android location "going for a walk" by itself
https://stackoverflow.com/q/41805990

Filter: Location jumps

Similar to static navigation drifts. Location data has random spikes or jumps when moving. Multi-path reflected signals from tall buildings or partial signal loss from some satellites can cause location jumps.

An example from StackOverflow:

Support for React Native Background Geolocation (Rnbg) library data format

Configure Rnbg mobile SDK to POST location data instantly or in batches. Geofilter API has native methods to receive, parse and transform Rnbg data in single or batch mode.

Auto trip detection

Segment location data into trips or journeys with start-end times and addresses, trip distance and route map.

Location jumps
Trips detected by auto trip segmentation

Address reverse geocoding

Fast reverse geocoding. Match every data point to the nearest OpenStreetMap address. Geofilter can reverse geocode any volume of records with worldwide OpenStreetMap address coverage. Throughput is limited only by the capabilities of AWS server instance type you choose.

Route mapping

Geofilter produces GeoJSON LineStrings and Google Polylines representing routes. You can use GeoJSON and polylines for mapping and visualising routes on Google Maps, Leaflet mapping library etc.

Location jumps
GeoJSON and Google Polyline encoders for routes

Support

You can find examples in the Documentation.

If you have any questions, contact Anu Joy or use the links below.

I work in projects involving python, data, gis, low cost green technical architecture design, IoT, tech content-driven marketing and SEO.

Contact us for help with any R&D or road mapping challenges you have.