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 by David Smiley (@dsmiley), 2 votes, updated Aug 22 2014
Attachments: HilbertConverter.zip, LUCENE-4922.patch
My wish-list for an ideal SpatialPrefixTree has these properties:
Some bonus wishes for use in geospatial:
All of this requires some basic performance benchmarks to measure the effects of these characteristics.
Migrated from LUCENE-4922 by David Smiley (@dsmiley), 2 votes, updated Aug 22 2014
Attachments: HilbertConverter.zip, LUCENE-4922.patch