[
https://issues.apache.org/jira/browse/LUCENE-7392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicholas Knize updated LUCENE-7392:
-----------------------------------
Attachment: LUCENE-7392.patch
Haven't updated this issue in a while so I'm posting a new patch with the
following changes:
* Changed {{LatLonBoundingBox}} encoding to be consistent with {{LatLonPoint}}
* Removed chaos for supporting dateline crossing - this field now DOES NOT
support dateline crossing bounding boxes
* Updated javadocs to include field limitations
The primary limitation of this field is the following:
East / West Bounding boxes that share the meridian will not be counted as
intersects. This is due to the encoding of {{-180}} and {{180}} mapping to
{{Integer.MIN_VALUE}} {{Integer.MAX_VALUE}}, respectively and
{{BKDWriter.writeFieldNDims}} operating on bytes only with
{{StringHelper.compare}}. So Western Bounding Boxes that fall at -180 will not
be counted as intersecting with Eastern Bounding Boxes that fall at 180 since
they are encoded as two different values.
I've thought about this a little bit, and would like to entertain a discussion
(best done in a separate issue if felt useful) around modifying {{BKDWriter}}
(and supporting {{IndexableField}} classes) so Points based fields can use
custom encodings that are not necessarily byte aligned -
as its required today. This would be an interesting feature for not just
supporting range coordinate wrapping (like in the geo use case) but also
supporting compressed encodings. Perhaps useful, (maybe?), for fields that
naturally have sparse bit encodings? Just a thought. I'd like to solicit
feedback to see if this sounds as interesting to anyone else as it does to me.
> Add point based GeoBoundingBoxField as a new RangeField type
> ------------------------------------------------------------
>
> Key: LUCENE-7392
> URL: https://issues.apache.org/jira/browse/LUCENE-7392
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Nicholas Knize
> Attachments: LUCENE-7392.patch, LUCENE-7392.patch, LUCENE-7392.patch
>
>
> This issue will add a new point based {{GeoBoundingBoxField}} type for
> indexing and querying 2D or 3D Geo bounding boxes. The intent is to construct
> this as a RangeField type and limit the first two dimensions to the lat/lon
> geospatial bounds (at 4 bytes each like {{LatLonPoint}}, while allowing an
> optional 8 byte ({{double}}) third dimension to serve as an altitude
> component for indexing 3D geospatial bounding boxes.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]