so_logo.png

Understanding Reverse Geocoding

What is the difference between geocoding and reverse geocoding?

Geocoding

Geocoding, sometimes referred to as forward geocoding, is the process of converting a place or address to a set of coordinates. For example, taking an address such as:

27 E. Cota St.
Santa Barbara, CA 93101
USA

and representing it as a set of latitudinal and longitudinal coordinates. This can be represented in a number of formats, such as:

Degrees-Minutes-Seconds (DMS) Coordinates: 34°25’07.4″N, 119°41’46.4″W
Decimal Degree (DD) Coordinates: 34.418721, -119.696215

Reverse Geocoding

Reverse geocoding, as the name suggests, is the process of doing the opposite: taking a set of coordinates and converting them to a place or address.

Using our previous example, a reverse geocoder would take coordinates in any of the following formats:

Degrees-Minutes-Seconds (DMS) Coordinates: 34°25’07.4″N, 119°41’46.4″W

Decimal Degree (DD) Coordinates: 34.418721, -119.696215

Latitude: 34.418721 | Longitude: -119.696215

and then convert them to the address:

27 E. Cota St.
Santa Barbara, CA 93101
USA

Like forward geocoding, this process may seem straightforward, but it can become quite complex and confusing at times. Reverse geocoder results will vary and depend on multiple variables, the biggest of which is the type of data available to the reverse geocoder.

Coordinate Points, Lines, and Boundaries

Reverse geocoding is a computational process that relies on spatial data to represent features such as an address, place, or point of interest. These features are often represented as one or more sets of coordinates that can make up a point, line or polygon (boundary):

  • Coordinate Point – a single coordinate point can be used to represent a feature such as an address, a city center, or a place of interest.
  • Coordinate Line – multiple coordinate points that form a line are often used to represent a feature such as a thoroughfare (road, river, pipeline, etc.).
  • Coordinate Polygon (Boundary) – multiple coordinate points that form a polygon are often used to represent a boundary of a feature such as a building, city boundary, or body of water.

Spatial coordinates, such as latitudinal and longitudinal coordinates, can then be used to compute how close they are to a feature, or if they reside within a feature boundary.

Types of Reverse Geocoding

Coordinate point, line and boundary data can be used in various ways. The spatial data type dictates the type of search a geocoder can perform.

Proximity search – often used for features that are represented as a single coordinate point; however, they can also be used on feature boundaries.
How it works: Simply put, a user enters a set of latitude/longitude coordinates, and the geocoder will search for the closest coordinate point or boundary that represents a feature. If one is found, then that feature is returned.

Interpolated search – often used for features that are represented as a coordinate line, such as thoroughfares, where the beginning and ending points of the feature may represent a known range such as an address number range for a street.
How it works: When a user enters a set of latitude/longitude coordinates that lies in the path of a feature coordinate line, the geocoder will be able to interpolate where it lies in the feature range. In the case where the feature range represents an address number range for a street, the interpolated result will be an estimated address number for the street.

Point in Polygon (PiP) search – often used for features that are represented as coordinate polygons, such as boundaries.
How it works: When a user enters a set of latitude/longitude coordinates, the geocoder can search to see if the coordinate point the user entered lies within a feature polygon or not. If it does then the feature (address, place, etc.) can be returned to the user.

What Can Reverse Geocoding be Used For?

There are various ways to use reverse geocoding with searches such as the ones listed above. Aside from identifying the location of a set of latitude/longitude coordinates, reverse geocoding can be used in a variety of Location Based Services (LBS).

  • Help plan a route – reverse geocoding can be used in conjunction with a forward geocoder to help identify where you are and where you want to go.
  • Augmented reality (AR) – reverse geocoding can be used identify where you are and overlay feature information for your location.
  • Location tracking – reverse geocoding can be used by tracking systems that make use of GPS coordinates to display all the locations where an item or person has been.
  • Social applications – reverse geocoding can be used by various social networking tools. For example, when taking a photo at a venue or place of interest a GPS coordinate can be used to automatically tag the photo with its location via a reverse lookup.
  • Location-based advertising – reverse geocoding can be used by applications looking to perform location-specific advertising.

These are just simple examples, but as you can see reverse geocoding can be used in many different situations, depending on your use case.

Common Pitfalls of Reverse Geocoding

When using reverse geocoding, you may not always get back the results you expected. Depending on the spatial data available and the type of search being performed, a reverse geocoder may return a variety of results that a user should be prepared to handle. Without going into too much detail, here are some common pitfalls to look out for.

  • Proximity search may return an unintended feature – sometimes spatial data may contain more than one type of feature: for example, buildings, streets, boundaries, and points of interest. A user may intend to perform a reverse search on an address, but if the reverse geocoder doesn’t provide a way for the user to specify a feature type to search for, then the user may get back a result for a different type of feature, such as a bus stop or street name, with no address number.
  • Point in Polygon (PiP) search may come back empty – PiP searches are commonly performed for finding and identifying places such as localities and admin areas. However, when performing a place search for a locality it is important to keep in mind that the outskirts of a city and many rural areas will often reside outside of a city’s limits. A locality’s boundaries are often much smaller than one would expect, and it is not uncommon for populated clusters to be unincorporated. Depending on the geocoder and the search criteria provided a user may get back an admin area as a result, or no location at all.
  • Not all locations have the same level data of available – for example, rural areas will sometimes lack detailed premise and street-level data. Also, not all countries have the same level of data available. Some countries may be limited to locality level data and lack premise and street-level data.
  • Multiple results found – sometimes a geocoder will return anything and everything it can for a location. This may be useful for some, but it can also be a hindrance to others. If the results in the response are not clear, then a user will end up confused and unsure which result to choose.

Overall, it is important for a user to be aware of the type of geocoder they are using and the type of search they need to perform to fit their needs. With various types of data to work with and various search methods available, not all geocoders will behave the same. Therefore, it is important that a user finds and tests a reverse geocoder that is flexible and dynamic enough to fit their specific needs but is also accurate and concise enough to be easy to use.

Our own DOTS Address Geocode family of products currently supports reverse geocoding for US and Canadian addresses, with capabilities coming in the near future for international addresses as well – stay tuned!

For more information about any of these products, or a free trial license key, contact our knowledgeable technical staff at any time.