Comments on: Hilbert Curves & Polyhedrons for Geo-Indexing | ArangoDB Blog 2012 https://arangodb.com/2012/03/using-hilbert-curves-and-polyhedrons-for-geo-indexing/ The database for graph and beyond Tue, 25 Jun 2024 09:31:08 +0000 hourly 1 https://wordpress.org/?v=6.7.1 By: Using Hilbert curves and Polyhedrons for Geo-Indexing « Another Word For It https://arangodb.com/2012/03/using-hilbert-curves-and-polyhedrons-for-geo-indexing/#comment-1105 Thu, 05 Apr 2012 20:38:14 +0000 http://www.arangodb.com/?p=264#comment-1105 […] Using Hilbert curves and Polyhedrons for Geo-Indexing […]

]]>
By: Richpark https://arangodb.com/2012/03/using-hilbert-curves-and-polyhedrons-for-geo-indexing/#comment-1106 Thu, 05 Apr 2012 11:42:00 +0000 http://www.arangodb.com/?p=264#comment-1106 In reply to Karussell.

Calculating the bounding box on the fly is not so good for three reasons.  Firstly you must compute the maximum box of all points within the Hilbert Curve bounds, so that the bounds are not so tight – it is better to compute them for the points you actually have, not the curve.  Secondly to reverse-engineer the Hilbert Curve into distances is very time consuming in itself.  Thirdly I found five points were rather better, so that the bounding “box” was in fact a pentagon.

]]>
By: Karussell https://arangodb.com/2012/03/using-hilbert-curves-and-polyhedrons-for-geo-indexing/#comment-1104 Thu, 05 Apr 2012 09:40:00 +0000 http://www.arangodb.com/?p=264#comment-1104 In reply to Richpark.

I see, I probably misinterpreted the title and in the video.

One question: do you need to store this ‘maximum distances’ information into the pots? In my implementation I’m not using this trick (+ I’m not sure I’ve understood it properly) but I’m using a bounding box calculated on the fly while searching – is this the same idea?

I can calculate the bounding box of a branch-node easily derived from the current geo string

]]>
By: Richpark https://arangodb.com/2012/03/using-hilbert-curves-and-polyhedrons-for-geo-indexing/#comment-1103 Thu, 05 Apr 2012 05:48:00 +0000 http://www.arangodb.com/?p=264#comment-1103 In reply to Karussell.

Apologies if you felt I was claiming that using Hilbert Curves for indexing on the Earth’s surface was original.  Of course it was not.  Martin Schoenert suggested I look at it, as it might be better than the Z-curve I originally proposed to use.  It was use of the observation that one can store, in each node of a binary search tree, the maximum distance to some fixed points and thereby effectively make “rectangles” even on the curved surface of a sphere that I though might be new.

]]>
By: Karussell https://arangodb.com/2012/03/using-hilbert-curves-and-polyhedrons-for-geo-indexing/#comment-1102 Wed, 04 Apr 2012 20:00:00 +0000 http://www.arangodb.com/?p=264#comment-1102 BTW: geostrings (called spatial key from me) are implemented in Java here:

https://github.com/karussell/GraphHopper/blob/master/src/main/java/de/jetsli/graph/geohash/SpatialKeyAlgo.java

resulting in Z curves … here is a quadtree implemented with this

https://github.com/karussell/GraphHopper/blob/master/src/main/java/de/jetsli/graph/trees/QuadTreeSimple.java

]]>
By: Karussell https://arangodb.com/2012/03/using-hilbert-curves-and-polyhedrons-for-geo-indexing/#comment-1101 Wed, 04 Apr 2012 19:57:00 +0000 http://www.arangodb.com/?p=264#comment-1101 Who was earlier? Mr Parker or this guy here:

http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves

]]>