nknize opened a new pull request #726: LUCENE-8632: New XYShape Field and Queries for indexing and searching general cartesian geometries URL: https://github.com/apache/lucene-solr/pull/726 The `LatLonShape` field and `LatLonShape` query classes added the ability to index and search geospatial geometries in the WGS-84 latitude, longitude coordinate reference system. The foundation for this capability is provided by the `Tessellator` that converts an array of vertices describing a `Point` `Line` or `Polygon` into a stream of 3 vertex triangles that are encoded as a seven dimension point and indexed using the BKD `POINT` structure. A nice property of the Tessellator is that `lat, lon` restrictions are artificial and really only bound by the API. This commit builds on top of / abstracts the `Tessellator` `LatLonShape` and `LatLonShapeQuery` classes to provide the ability to index & search general cartesian (non WGS84 lat,lon restricted) geometry. It does so by introducing two new base classes: `ShapeField` and `ShapeQuery` that provide the indexing and search foundation for `LatLonShape` and the `LatLonShape` derived query classes (`LatLonShapeBoundingBoxQuery`, `LatLonShapeLineQuery`, `LatLonShapePolygonQuery`) and introducing a new `XYShape` factory class along with `XYShape` derived query classes (`XYShapeBoundingBoxQuery`, `XYShapeLineQuery`, `XYShapePolygonQuery`). The heart of the cartesian indexing is achieved through `XYShapeEncodingUtils` that converts the double precision vertices into an `integer` encoded seven dimension point (similar to LatLonShape). The test framework is also further abstracted and extended to provide a full test suite for the new `XYShape` capability that works the same way as the `LatLonShape` test suite (but applied to non GIS geometries). # Solution Please provide a short description of the approach taken to implement your solution. # Tests Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
