A SpatialPrefixTree based on the Hilbert Curve and variable grid sizes [LUCENE-4922]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
My wish-list for an ideal SpatialPrefixTree has these properties:
- Hilbert Curve ordering
- Variable grid size per level (ex: 256 at the top, 64 at the bottom, 16 for all in-between)
- Compact binary encoding (so-called "Morton number")
- Works for geodetic (i.e. lat & lon) and non-geodetic
Some bonus wishes for use in geospatial:
- Use an equal-area projection such that each cell has an equal area to all others at the same level.
- When advancing a grid level, if a cell's width is less than half its height. then divide it as 4 vertically stacked instead of 2 by 2. The point is to avoid super-skinny cells which occurs towards the poles and degrades performance.
All of this requires some basic performance benchmarks to measure the effects of these characteristics.
---
Migrated from [LUCENE-4922](https://issues.apache.org/jira/browse/LUCENE-4922) by David Smiley (@dsmiley), 2 votes, updated Aug 22 2014
Attachments: [HilbertConverter.zip](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-4922/HilbertConverter.zip), [LUCENE-4922.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-4922/LUCENE-4922.patch)
Contributor guide
Assessment
This issue has not been assessed yet.