Where Is My Device?
One of IoT’s defining categories is device tracking, with Applications ranging from vehicle and cargo tracking to pet tracking. New, more reliable positioning technologies have emerged, allowing the accurate location of devices to be determined in geographic coordinates (longitude, latitude). Geographic coordinates are exact and easy for computers to manipulate, but they have one significant drawback: coordinates mean nothing to humans. We need to convert the coordinates into an address or place name to give the location meaning to humans and cross-reference the location with human jurisdictions. This process is known as reverse geocoding.
An example: a car rental firm needs to know if one of their cars left the country, as this can have insurance implications.
Why Is Reverse Geocoding Hard?
Reverse geocoding is a challenge for one simple reason: the world is continually changing. This makes the headlines when a new country appears, but a more day-to-day example is new buildings and streets and changing administrative boundaries. Unlike traditional software architectures that require keeping software current, geocoding requires keeping a continually changing database up to date.
An example: Brexit provides a relevant recent example facing logistic companies. When exactly did your shipment leave the EU?
This challenge of ever-changing data means it makes sense for IoT operators to use an external API to convert device coordinates into geographic information, and many such services exist, most famously perhaps Google Maps. In recent years though, a new possibility has emerged as a viable option for reverse geocoding, one that can enable significant operational improvements: using open data sources, most famously OpenStreetMap.
What Is “Open Data”, and Why Does It Matter?
Open data describes the concept that data should be free for everyone to use and enhance, much like the similar concept of open-source software. In geography, the most well-known open data project is OpenStreetMap, a collaborative project to compile and maintain an open database of geographic information covering the entire world. Started over 15 years ago, the project has grown significantly.
Much like similar crowd-sourcing success story Wikipedia, OpenStreetMap now has millions of contributors around the world. The data is used across various applications spanning hobby projects and academics to corporations like tech giants Amazon, Microsoft, Facebook, and Apple. You have almost certainly interacted with a service built on OpenStreetMap. Worldwide OpenStreetMap currently averages four to five million edits per day.
Open Data Key Benefits
It can be stored forever, used publicly or behind a firewall, and displayed on any map. All of these are attributes that proprietary data providers like Google prohibit or charge excessive amounts for.
The data source’s open nature means that corrections can be undertaken quickly by those who use the data. Proprietary data providers publish their data on their own schedules, often with little or no discussion with customers. Likewise, OpenStreetMap users can contribute data in areas or categories that are of particular interest to them. Proprietary data providers have traditionally focused only on wealthier markets.
A Fraction of the Cost
Taken together, these advantages make a compelling case for IoT operators to consider open data for their geocoding needs. Particularly in the current economic environment, when customers are looking for increased efficiencies, the cost argument is compelling.
Paying full price for a “closed” data reverse geocoding service like Google is the equivalent of renting a Ferrari to drive to the local bakery. Technically possible, but perhaps not the smartest way to go about things.
Build Versus Buy
Given these benefits, IoT operators’ natural inclination is to implement and maintain their own reverse geocoding services. As with any investment decision, a careful analysis of needs, organizational abilities, and budget is useful. While an in-house operation is technically possible, one challenge is the non-trivial ongoing operational burden of maintaining such a service. The exact level of complexity of operating such a service internally will depend on the geographic areas covered and the importance of data freshness. For those preferring to instead rely on an expert, companies are available to provide advice and access to highly-available, well-maintained geocoding API at a fraction of the cost of proprietary data services.