-
-
Notifications
You must be signed in to change notification settings - Fork 670
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
Geo-search #44
Comments
Two more practical requirements that I would love to have:
those two things have a range of usecases that are very practical for me |
Curious about the status of this issue. Is this still a desired feature? I have a need for geo queries in a future project, and would be willing to help implement, although I might need some guidance. |
@hwchen Sorry about the late answer This is a desired feature but this is also a lot of work. You can work on it if you are confident, but be careful... This is one of the hardest ticket around and |
Thanks, I'll keep this in mind. Maybe in a year or so I'll pick this up if nobody else has :) |
Plus one on this feature, very relevant to any local app - Uber Eats, Yelp, Maps, Delivery. |
FYI: did a quick search, found one nice bkd tree impl https://github.com/peermaps/eyros |
Nice, rucene also has a bkd implementation https://github.com/zhihu/rucene/blob/master/src/core/util/bkd/bkd_writer.rs |
Hmm, seems the license of eyros is not compatible with MIT. |
Another FYI. From https://www.elastic.co/blog/lucene-points-6.0, the blog which announced lucene spatial support, there is a quote on future work:
And there is a rtree crate called rstar, which provides a good in mem rtree. https://crates.io/crates/rstar |
Point search specific methods are easier to implement since they don't require specialized trees and they also perform better. It would make sense to implement point search first as it is probably most commonly used, and implement indexing of shapes at a latter time. Steps to index geo coordinates (points):
Steps to query are a bit more complex:
[1] I can look-up the name of paper using quadtrees to calculate ranges, if anyone is interested. |
+1 some resources other engines uses |
See #2130 for a version using in-memory (I am also working on flat K-D trees and R trees which could be memory-mapped directly from their on-disk representation avoiding the in-memory requirement. They do come from a simulation background though, i.e. generic N dimensional geometry. I guess one would want to specialize on Hilbert-packed two-dimensional trees for geographic search.) |
Hi everyone, @adamreichold , have you or anyone else made any progress on this topic? |
what is the name of the paper, I am interested. |
There's also a source code: https://github.com/stpsomad/DynamicPCDMS https://isprs-annals.copernicus.org/articles/IV-2-W1/107/2016/isprs-annals-IV-2-W1-107-2016.pdf Slides: https://pdfs.semanticscholar.org/287b/2fdad23e6110d4a524efcd87c70f8696a15a.pdf Another paper I also found interesting/helpful is: Towards a Painless Index for Spatial Objects |
Thanks. One thing that is not immediately obvious to me, is storing not just points but objects with AABB. The literature around appears to be either storing all the morton points that intersects against the AABB perhaps directly as points or morton ranges. |
This would require a longlat field type... (and coords if we want simple 2D as well
Then the user would want to perform queries such as
The text was updated successfully, but these errors were encountered: