Geohashing (or geohash) is a geocoding method used to encode geographic coordinates (latitude and longitude) into a short string of digits and letters delineating an area on a map, which is called a cell, with varying resolutions. The more characters in the string, the more precise the location.
Geohash is a public domain of encoding coordinates. An example of a geohash is the coordinate pair 28.6132,77.2291 being converted into a geohash of ttnfv2u.
The maximum length of a geohash is 12.
Geohashes use Base-32 alphabet encoding (characters can be 0 to 9 and A to Z, excl "A", "I", "L" and "O”). Imagine the world is divided into a grid with 32 cells. The first character in a geohash identifies the initial location as one of the 32 cells. This cell will also contain 32 cells, and each one of these will contain 32 cells (and so on repeatedly). Adding characters to the geohash sub-divides a cell, effectively zooming in to a more detailed area.
The precision factor determines the size of the cell. For instance, a precision factor of one creates a cell 5,000km high and 5,000km wide, a precision factor of six creates a cell 0.61km high and 1.22km wide, and a precision factor of nine creates a cell 4.77m high and 4.77m wide (cells are not always square).
Geohashing was originally developed as a URL-shortening service but it is now commonly used for spatial indexing (or spatial binning), location searching, mashups and creating unique place identifiers.
A geohash is shorter than a regular address, or latitude and longitude coordinates, and therefore easier to share, remember and store.
Social Networking: Chat with people near you within a particular cell, and to create chat apps.
Proximity Searches: Find nearby locations using API mapping or geolocation APIs and identify places of interest, restaurants, shops and accommodation establishments in an area.
Digital Travels: Geohashers go on global expeditions to meet people and explore new places. The twist: the destination is a computer-generated geohash and participants in this turnkey travel experience have to write up and post their story on the internet.
Custom Interactive Apps: Geohashing can be used to create real-time, interactive apps.
You can try it out here. Use the coordinates 40.748440989 and -73.985663981 for a view of the area around the Empire State Building in New York. Change the precision factor to increase or decrease the resolution (size of the cell), or use the geohash dr5ru6j2c5fqt for a 13-digit precision factor to zoom right in.
The drawbacks to geohashing include:
Using a grid based geohashing algorithm does need meet high-precision requirements
Geohashing deviation changes as latitude increases because the Earth is an irregular ellipse.
Ready to incorporate real-time functionality in your app? Create a free PubNub account today.