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

Projects
None yet
2 participants
@dr-jts
Copy link
Contributor

dr-jts commented Jan 28, 2019

Hilbert Curve and ordering
Morton Curve and ordering

dr-jts added some commits Jan 17, 2019

Add HilbertCurveBuilder
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Version History for HilbertCurveBuilder
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Add HilbertCurve function metatdata, fix name
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Add Hilbert checks and ranges
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Improve Hilbert Curve code
Add Morton Curve

Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Add Curve order from size functions
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Rename various concepts
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Update Version History
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Javadoc
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Javadoc
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Javadoc
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Javadoc
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Javadoc
Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Javadoc
Signed-off-by: Martin Davis <mtnclimb@gmail.com>

@dr-jts dr-jts merged commit 856db45 into locationtech:master Jan 28, 2019

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
ip-validation
Details

@dr-jts dr-jts deleted the dr-jts:feature-hilbert-curve branch Jan 28, 2019

@jnh5y

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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 added a commit that referenced this pull request Feb 16, 2019

Hilbert Curve and Morton Curve (#368)
* Add HilbertCode and HilbertCurveBuilder
* Add MortonCode and MortonCurveBuilder

Signed-off-by: Martin Davis <mtnclimb@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment