Why Use Reverse Geocoding?
Who needs reverse geocoding and why?
The internet has allowed software, e-commerce, and online retail companies to stretch far beyond the borders of their own countries. A process that once required mailing out catalogues and dialing in orders is now as easy as typing a name into a search bar. What this means, however, is that a large portion of today's online businesses service tens if not hundreds of different countries simultaneously. Each new nation an app or website expands to comes with its own currency, security regulations, and bandwidth delivery capabilities. This requires a complex tracking network which must constantly be updated in real time. First and foremost, these systems need to display user-friendly information on their interface. Additionally, when any part of this system breaks down, it is vital that maintenance teams are able to easily access the information they need. This helps facilitate a swift and efficient solution. Reverse geocoders allow humans to read the location data they need in order to use with the software.
Your Location Intelligence System
Depending on what service you are providing, your location intelligence needs may be quite different from other reverse geocoder users. If your app is collecting information from mobile devices, website access or servers, the platform will determine the precision and use cases for your location data.
Reverse geocoding on a mobile device typically delivers the most accurate location data. Perhaps this is because almost all mobile devices come equipped with a built-in GPS. Though the average smartphone customer may not use their GPS to learn their current latitude and longitude, a reverse geocoder is able to convert their location to a street, address, or public place. This allows users to take advantage of a number of location-based benefits, such as:
- Users are able to pull up their maps application and quickly learn about nearby sushi places, for example
- Emergency response operators can automatically see the location of a caller in order to dispatch units to them faster, a system known as Enhanced 911
Using reverse geocoding on a website provides a less precise means of tracking and therefore offers a larger radius when displaying location data. Certain websites use IP addresses to locate access signals. This method tends to return slightly more precise data and can sometimes narrow a location down to an individual street address. However, most websites use WiFi tracing to estimate access locations. When GPS tracking is not available, WiFi positioning examines the characteristics of a user's wireless signal. It then compares this information to a database of personal WiFi routers and public hotspots to determine the location of a device. This is typically measured by signal intensity and the accuracy of such a method varies greatly based on how many WiFi hotspots are in the given area.
Servers do not collect location data, but they may very well still require a reverse geocoding API. It's not uncommon for servers to house the databases of location information collected by other sources. A server may have the job of storing up location data on the backend over time and periodically packaging it up. The reverse geocoder would come into play when it comes time for the server to convert those coordinates to addresses that are then stored back into the database for humans to read. For example, an analytics program may measure the locations of all the viewers of a weekly stream. Each week, after the show airs, the program would collect the location data of all the countries where people tuned in. It could then use a reverse geocoder to create a readable list for the show's producers to know where their listener base is located.
Common Reverse Geocoder Use Cases
Whether your application is a mobile app, a website, backend, or some combination, you will have a specific use of reverse geocoding in mind. With the proliferation of geo data and Internet-connected devices, there are many ways a reverse geocoder can be used.
We'll cover some of the common use cases we've seen at OpenCage, including:
- Fleet tracking
- Delivery tracking
- Internet of Things (IoT)
- Photo and data enrichment
- Payment processing
Each of these requires a different granularity of data and how the results are displayed will vary.
Any organization that controls a fleet of vehicles, be they city buses, delivery vans, or cruise ships, needs a system that can keep track of where each unit is at any given time. These types of insights would be impossible for any human to consistently track and understand, but a machine is able to process thousands of shifting locations all across the globe. This information need only be accessed by a person upon request and in easy-to-understand terms. However, when an employee or customer does need to know where along the route their delivery van is, they need to know a real world address. These results can be stored and accessed after the fact to conduct analysis and improve the efficiency of supply chains and transport routes. At OpenCage we work with many companies, small and large, around the world providing reverse geocoding for fleet tracking.
Often alongside fleet tracking, e-commerce and supply chain organizations must track an ever-changing network of individual deliveries. In order to keep the operation running smoothly, employees need to be aware of which deliveries are on time, which are running behind, and which have gone missing. While computers can keep track of these locations in the form of GPS coordinates, customers want to be able to see real time updates to their delivery timeline. That information should be delivered to them in a user-friendly way. Additionally, it is just as important for customer service to have access to this information so they can be aware and respond when things go sideways. This helps guarantee good customer service when packages get misplaced as well as confirm when deliveries are successful.
Internet of Things
Reverse geocoders can also help us with the increasing number of smart devices we use in our daily lives. Tablets, watches, cars, fridges, and many other devices now come equipped with f cameras and sensors. More and more devices are location-enabled, capturing real-time locations GPS coordinates. The internet of things is an incredibly independent network, meaning its operation relies heavily on the continuous input of tracking data from these sensors. Many people now wear fitness trackers, not just at the gym, but everywhere they go. Reverse geocoding could help them make sense of their daily schedule. If, on some days, they run to the coffeeshop on the corner rather than drive, their fitness wearable can let them know the days they did so to adjust their workout. Internet of things geolocation services may need to display human readable coordinates for any number of reasons. Technically, most people carry an IoT device with them at all times. A smartphone has sensors, GPS, Internet - everything you need to communicate data with other devices and become part of the network. Reverse geocoders frequently play a role in smartphone app location services. Reverse geocoding for device tracking is one of our main customer categories here at OpenCage.
Photo and Data Enrichment
Location-aware social media culture has forever changed the way photos are shared and stored. Alongside each new photograph a smartphone captures, it stores the geographic coordinates where that photograph was taken. This can be useful for enhanced social media sharing, organizing databases full of images, or creating hotmaps with access to photographs like Google Maps offers. In these cases, a reverse geocoder would be necessary if location information needed to be displayed to users. A computer can organize photographs by location on its own. However, if you're scrolling through vacation photos in chronological order, you want to know the town and country in which they were taken, not the coordinates.
As web services become more globalized and their access stretches across national boundaries, their jobs get more complex. For each nation your service operates in, your website needs to be able to convert prices to both show and collect the right amount for a transaction. If your website displays your products with dollar values in the United Kingdom, you will be undercharging your customers relative to the rate of exchange and losing money in the process. The right reverse geocoding API can gather a customer's location information and convert all values displayed on their web page to local currency. Learn more about some of the payment processor reverse geocoding customers we work with at OpenCage.
Reverse Geocoding Considerations
Choosing a reverse geocoding API to build into your stack comes with a number of considerations. Depending on what service your application provides users, you may have different needs from the tech company two doors down.
One important factor in your decision-making process is how specific your location data needs to be to get the job done. Perhaps you merely need your e-commerce system to be able to display the correct form of currency on your customers' receipts. In this case, you would not need a location as specific as an actual street address; you would just need to know their current country, likely available via their IP address. This would allow your system to convert your prices into that customer's currency type and display the proper amounts. However, if your e-commerce service is also responsible for following through on a physical delivery,your system not only needs to know where your package is meant to end up. And the customer may want updates on where the delivery driver is on the route.
Roads, Addresses, and Landmarks
Your app may need to interpret and output several different forms of location information to deliver the best service. Depending on what function your app shall serve for your customers, you may need it to display location information in towns, area codes, streets, addresses, landmarks, or something else. If you run a trucking company, you probably need your location data in terms of how far along a highway your trucks have traveled. In this case, your reverse geocoder should be able to identify roads and highways from coordinates. If you run a delivery service, your drivers need to see actual addresses on their display so they don't arrive at their destination and leave packages on the wrong doorstep. However, if you run a ridesharing service, it's much easier for drivers to see landmarks or business names rather than addresses. A rider typically calls a car to their given location, just like dropping a pin. For a driver, coordinates and even addresses are not nearly as friendly as a business name or other landmark to help them connect with their rider. In each of these cases, your reverse geocoder must work within your system to translate location data into the proper form.
Another major consideration when it comes to reverse geocoding is how often your data refreshes. When operating with so many moving parts, it is important for a system to be able to keep up with incoming data. Inaccurate data can cause headaches for users and developers alike. If you build your own geocoder, much of that maintenance is on your team's shoulders. You pay, in the form of maintenance time, regardless of your usage volume. On the other hand, using an existing reverse geocoding API allows you to avoid maintenance yourself (the provider does it for you). You pay (this time with service fees) for your actual usage.
Finally, it is important to factor in the cost of building your own reverse geocoding alternative. Using a pay-to-play API service guarantees a fixed rate of cost. If you want to build your own, many variable costs come into play on the development side. Developing a reverse geocoder first requires a database of reference points, shapes, and other geo data. These take significant time to piece together. The more granular your data and wider coverage area you need the harder it is to obtain and maintain. This data must then be organized and prepared to be queried, all before your development team can actually begin to write the application's code. During the development process and after your geocoder goes live, both the reference data and the code must be continually updated. All these steps require serious hours from your development team, which could be put toward improving your base deliverable product. However, if you are inclined to build your own reverse geocoder, read on to see what's required when building your own reverse geocoder.