Show HN: ProximityHash – Geohashes in Proximity
github.com
github.com
Internally, the space-filling curves are super interesting. I highly recommend this writeup [1] on how they're used in things like planet-sized maps. I've heard rumors that Google adjusts the offset of their space-filling curves to minimize large discontinuities near land and push them over the ocean instead.
[1] - http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-...
Would surely go through the blog mentioned. Thanks.
By how much? Could you please give us an example?
Would something like Redis' GEOHASH command be any faster if it used ProximityHash?
On your second question, it completely depends on the problem at hand. I have been using GEORADIUS on Redis for around a year now @ > 30k QPS. The case there is to find locations that are closest to our input. ProximityHash provides you all the geohashes in a circular area for which I haven't found a library yet. Most of them provide geohashes in a BoundingBox.
Spatial indexing is quite like regular database indexing. If the operation is clever enough to be inexpensive to compute an index with high levels of precision, you gain the advantage of spending less time in the indexing phase of your computation. This becomes relevant when you regularly want to spatially index the entire world, for example.
The only special thing I can see about this particular approach is that it's a circular index, which isn't a common way to approach spatial indexing. The more common approaches such as building R-Tree are rectangular which may not be applicable to all use-cases. Many spatial analyses use circular buffer on point approach (I see this a lot in health fields such as disease analysis), where this specialized approach might eliminate a post-processing step and net some performance gains for the end user.
Demo here: http://www.geodna.org/docs/google-maps.html
GeoHash is cool - but the hashes don't lend themselves well to stemming for use in text-based searching. This improves on that.
Full disclosure, I am responsible for GeoDNA.org
I didn't get this completely. :)
This was something that hadn't been solved using geohashes. Intention was to just bring out 'geohash'y of solution to proximity search.