Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hilbert Curve and Morton Curve #368

Merged
merged 14 commits into from Jan 28, 2019

Conversation

dr-jts
Copy link
Contributor

@dr-jts dr-jts commented Jan 28, 2019

Hilbert Curve and ordering
Morton Curve and ordering

Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Add Morton Curve

Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
@dr-jts dr-jts merged commit 856db45 into locationtech:master Jan 28, 2019
@dr-jts dr-jts deleted the feature-hilbert-curve branch January 28, 2019 05:15
@jnh5y
Copy link
Contributor

jnh5y commented Jan 28, 2019

@dr-jts nice! You know about SFCurve as a project, right? https://github.com/locationtech/sfcurve

Shout if I can ever help with space-filling curves for JTS.:)

@dr-jts
Copy link
Contributor Author

dr-jts commented Jan 28, 2019

Ah right... there is that. Would be interesting to compare. My implementation is much less ambitious. The ultimate goal is to implement a Hilbert R-tree, to see how that compares to the STR-packed Rtree. And also pretty pictures...

@jnh5y
Copy link
Contributor

jnh5y commented Jan 28, 2019

Interesting... are you looking at Hilbert R-Trees as static or dynamic data structures? (I skimmed the Wikipedia article, and I haven't looked enough to understand the benefits.)

Incidentally, if the Hilbert implementation matters, @cne1x could come and share what he knows about 'compact' Hilbert curves. (They are useful if the magnitude of the various dimensions are unequal. E.g., if you have 10 bits of info for x and 6 bits for y.)

@dr-jts
Copy link
Contributor Author

dr-jts commented Jan 28, 2019

@jnh5y The Javadoc for HilbertCode and MortonCode could use a review if you are so inclined...

@dr-jts
Copy link
Contributor Author

dr-jts commented Jan 28, 2019

As a alternate packing method for the current static R-tree structure. (Which incidentally really needs to be refactored to support this, i.e. to separate the packing strategy from the actual R-tree structure and algorithms. I'm also going to dump the SIRtree complexity, since it's no longer used in JTS having been superceded by the SortedPackedIntervalRtree.

jodygarnett pushed a commit that referenced this pull request Feb 16, 2019
* Add HilbertCode and HilbertCurveBuilder
* Add MortonCode and MortonCurveBuilder

Signed-off-by: Martin Davis <mtnclimb@gmail.com>
airbreather added a commit to NetTopologySuite/NetTopologySuite that referenced this pull request Apr 3, 2019
* Add HilbertCode and HilbertCurveBuilder
* Add MortonCode and MortonCurveBuilder

JTS' commit
locationtech/jts@856db45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants