[ 
https://issues.apache.org/jira/browse/LUCENE-8364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16518292#comment-16518292
 ] 

Nicholas Knize commented on LUCENE-8364:
----------------------------------------

Initial patch provides:

* Refactor {{Polygon2D}} into a more descriptive {{GeoEdgeTree}} class (the end 
objective will be to make this package private and limit to computing relations 
between shapes)
* New {{Circle}} class for encapsulating point distance computations.
* Refactor {{Predicate}} out of {{GeoEncodingUtils}} into its own standalone 
package private base class
* Refactor {{DistancePredicate}} out of {{GeoEncodingUtils}} into new 
{{Circle}} class
* Refactor {{PolygonPredicate}} out of {{GeoEncodingUtils}} into {{Polygon}} 
class
* New {{Geometry}} interface and {{Shape}} class for providing a {{.relate}} 
method for computing relation between derived shapes with bounding boxes
* Removed unused {{GeoRelationUtils}} utility class
* Updated and added testing for new and existing geometries along with 
relations with bounding boxes


> Refactor and clean up core geo api
> ----------------------------------
>
>                 Key: LUCENE-8364
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8364
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Nicholas Knize
>            Priority: Major
>         Attachments: LUCENE-8364.patch
>
>
> The core geo API is quite disorganized and confusing. For example there is 
> {{Polygon}} for creating an instance of polygon vertices and holes and 
> {{Polygon2D}} for computing relations between points and polygons. There is 
> also a {{PolygonPredicate}} and {{DistancePredicate}} in {{GeoUtils}} for 
> computing point in polygon and point distance relations, respectively, and a 
> {{GeoRelationUtils}} utility class which is no longer used for anything. This 
> disorganization is due to the organic improvements of simple {{LatLonPoint}} 
> indexing and search features and a little TLC is needed to clean up api to 
> make it more approachable and easy to understand. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to