Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simplegeo/libgeohash
A pure C implementation of the Geohash algorithm.
https://github.com/simplegeo/libgeohash
Last synced: about 19 hours ago
JSON representation
A pure C implementation of the Geohash algorithm.
- Host: GitHub
- URL: https://github.com/simplegeo/libgeohash
- Owner: simplegeo
- License: bsd-3-clause
- Created: 2009-10-06T18:06:33.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2019-05-05T12:33:47.000Z (over 5 years ago)
- Last Synced: 2024-07-31T22:55:18.425Z (3 months ago)
- Language: C
- Homepage: http://geohash.org
- Size: 218 KB
- Stars: 104
- Watchers: 13
- Forks: 33
- Open Issues: 5
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
Awesome Lists containing this project
README
libgeohash
==========Derek Smith
-----------
[email protected]
-------------------A static library used for encoding/decoding geohashes.
To use libgeohash just run make. Link libgeohash.a and include geohash.h into your project.
### Encode
char* geohash_encode(double lat, double lng, int precision);
Takes in latitude and longitude with a desired precision and returns the correct hash value. If
precision < 0 or precision > 20, a default value of 6 will be used.### Decode
GeoCoord geohash_decode(char* hash);
Produces an allocated GeoCoord structure which contains the latitude and longitude that was decoded from
the geohash. A GeoCoord also provides the bounding box for the geohash (north, east, south, west).### Neighbors
char** geohash_neighbors(char* hash);
Uses the bounding box declared at hash and calculates the 8 neighboring boxes. An example is show below.
+ ezefx ezs48 ezs49
+ ezefr ezs42 ezs43
+ ezefp ezs40 ezs41The value returned is an array of char* with length of 8. The neighboring positions of values are shown
below with each box representing the index of the array.+ 7 0 1
+ 6 * 2
+ 5 4 3