Geohash


Author(s):

Cody Marx Bailey

Gustavo Niemeyer

 

In 140 characters:

Describing a longitude and latitude pair in as few characters as possible. X and Y only.

 

Description:

 

Simply put, geohashes would be a convention for describing a location on the earth by using GPS coordinates. It is not meant to describe a business, park, building, highway, etc. A different service could approximate that position to a street address, but that would be outside of the geohash convention.

 

From Wikipedia: Geohash is a latitude/longitude geocode system invented by Gustavo Niemeyer when writing the web service at geohash.org, and put into the public domain. It is a hierarchical spatial data structure which subdivides space into buckets of grid shape.

 

Details and Use Cases:

 

Most of the time this data would be done on the client side with no need for a connection to geohash.org for translation. There's a simple algorithm that can be found on the geohash page of wikipedia (http://en.wikipedia.org/wiki/Geohash). There's a few ways this could be done. For the following cases, I'm using the % as the delimiter, this could be changed later.

 

Vague - No need in the specifics, just in the vicinity.

     Just arrived in Bryan, TX %9v7qrr2

 

Precise - Giving very precise location, perhaps sub-meter precision if the device were capable.

     Just got to the concert, great view from here %9v6kpynxqebd

 

Multi-point - Used when describing a route or area.

     Whew, just got done with a 3 mile run %9v7w0q9x -> %9v7qpzff -> %9v7qnwn8

     15,423 people live in this area: %9v7w0q9x -> %9v7qpzff -> %9v7qnwn8

 

Comments on Application Integration

These geohashes could be scanned by services like BrightKite to allow people to easily check in by combining it with a tag. A user could instruct thier messaging client to only use vague or precise points when reporting if phyiscal security is of concern.

 

Alternatives

 

This could be combined with the hashtag usage, but we'd need subtags or namespace declaration to pull that off. The values are ugly, but can be masked by the client to say "point" or "gps 1".