[
https://issues.apache.org/jira/browse/LUCENE-8581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16708434#comment-16708434
]
Ignacio Vera commented on LUCENE-8581:
--------------------------------------
{quote}I think it would be good to keep the calls to encodeLatitude and
encodeLongitude here.
{quote}
+1
{quote}Encoding should be orientation agnostic, but congruent (order
preserved). I think we should remove the orientation dependency.
{quote}
I still think it is worthy to encode triangles always with the same orientation
so we do not need to add that information for the encoding. I was having
troubles in this part but now I think it was because a was working with the
original triangle not with the encoded values.
{quote}For maintenance I'd really like to reduce this tree of conditionals.
{quote}
I totally agree, I need to see which pattern can use here to improve
readability.
I attach a new version. It is missing documentation and maybe some test for the
encoding.
Just for my curiosity. when creating a triangle in the tessellator points get
order. is that really needed? what is the purpose?
{code:java}
protected Triangle(Node a, Node b, Node c) {
this.vertex = new Node[] {a, b, c};
// sort nodes by morton value
Arrays.sort(this.vertex, (x, y) -> x.compareLat(y));
}
{code}
> Change LatLonShape encoding to use 4 BYTES Per Dimension
> --------------------------------------------------------
>
> Key: LUCENE-8581
> URL: https://issues.apache.org/jira/browse/LUCENE-8581
> Project: Lucene - Core
> Issue Type: New Feature
> Reporter: Nicholas Knize
> Assignee: Ignacio Vera
> Priority: Major
> Attachments: LUCENE-8581.patch, LUCENE-8581.patch
>
>
> {{LatLonShape}} tessellated triangles currently use a relatively naive
> encoding with the first four dimensions as the bounding box of the triangle
> and the last three dimensions as the vertices of the triangle. To encode the
> {{x,y}} vertices in the last three dimensions requires {{bytesPerDim}} to be
> set to 8, with 4 bytes for the x & y axis, respectively. We can reduce
> {{bytesPerDim}} to 4 by encoding the index(es) of the vertices shared by the
> bounding box along with the orientation of the triangle. This also opens the
> door for supporting {{CONTAINS}} queries.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]