[
https://issues.apache.org/jira/browse/LUCENE-6450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14538321#comment-14538321
]
Nicholas Knize commented on LUCENE-6450:
----------------------------------------
Yes. Geo3d would be a nice fit here for using planar geometry to better
approximate the earth's surface to a sphere. That would require it be decoupled
from the spatial module and committed stand alone to a core.geometry package.
(maybe not a bad idea?)
Though it does diverge from the original intent of this patch. Which is provide
core with a simple lightweight/scalable geo field and API that applies to the
95% use case not requiring cartographic precision. The advanced GIS use case
can use the spatial module, but in that case I'd point out that most
cartographers/photogrammetrists would still consider geo3d inaccurate since the
sphere is not an accurate representation of the earth's surface. There would
need to be support for reprojection using appropriate EPSG/CRS datum (something
best fit to remain in the spatial module, not core). For that I'm exploring
the use of SIS (something I'll sandbox for collaboration).
In the meantime, if there's concern about this patch struggling with accuracy
on large polygons, a relatively straightforward and fast approach should be to
overestimate the bbox, reproject intermediate results to a cylindrical
projection, and use the same simple cartesian based PIP. Any enhancement that
saves the complex computation to smaller result sets is a win.
> Add simple encoded GeoPointField type to core
> ---------------------------------------------
>
> Key: LUCENE-6450
> URL: https://issues.apache.org/jira/browse/LUCENE-6450
> Project: Lucene - Core
> Issue Type: New Feature
> Affects Versions: Trunk, 5.x
> Reporter: Nicholas Knize
> Priority: Minor
> Attachments: LUCENE-6450-5x.patch, LUCENE-6450-TRUNK.patch,
> LUCENE-6450.patch, LUCENE-6450.patch, LUCENE-6450.patch, LUCENE-6450.patch
>
>
> At the moment all spatial capabilities, including basic point based indexing
> and querying, require the lucene-spatial module. The spatial module, designed
> to handle all things geo, requires dependency overhead (s4j, jts) to provide
> spatial rigor for even the most simplistic spatial search use-cases (e.g.,
> lat/lon bounding box, point in poly, distance search). This feature trims the
> overhead by adding a new GeoPointField type to core along with
> GeoBoundingBoxQuery and GeoPolygonQuery classes to the .search package. This
> field is intended as a straightforward lightweight type for the most basic
> geo point use-cases without the overhead.
> The field uses simple bit twiddling operations (currently morton hashing) to
> encode lat/lon into a single long term. The queries leverage simple
> multi-phase filtering that starts by leveraging NumericRangeQuery to reduce
> candidate terms deferring the more expensive mathematics to the smaller
> candidate sets.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]