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]

Reply via email to