[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: LUCENE-8080.patch

I agree that falling back to standard polygon approach is not the idea of this 
shape so failing hard is good as well as we know how to detect bogus shapes. 
The important thing is not to build such a shape.

Attached revised patch where an IllegalArgumentException is thrown when bogus 
planes are detected. I am keeping in the patch the part that is forcing to 
create at least 4 slices or is better to hadle that in another JIRA ticket? In 
the same patch is a test where circle construction fails because of a bogus 
plane.

> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch, 
> LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: (was: LUCENE-8080.patch)

> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: (was: LUCENE-8080-test.patch)

> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-08 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: LUCENE-8080-test.patch
LUCENE-8080.patch

Hi [~karl wright],

Thanks for stopping my feet. I had another thought and I tried to simplify the 
problem. I attached a new test that shows a case when we are building a bogus 
plane. In the current case we build the first circle and the result is wrong.

I attach a new proposal how to handle those cases. In that case we cannot build 
the first circle because is too accurate but we can build it with less accuracy 
and result is right. Below the explanation.

Instead of trying to building a helper plane, what I do, when building a bogus 
plane, is to build another one, less accurate one, using two points of the 
cirlcle and the center of the world. Of couse you cannot build too accurate 
circles with this approach but still you can build it with less precision.

Solution seems to be generic with the penalty of accuracy and 
performance/number of slices. Note that this does not affect planet models like 
WGS84.

The patch forces to build at least 4 slices and I removed a check when building 
the plane as it seems unnecesary.

> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080-test.patch, 
> LUCENE-8080.patch, LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-06 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: LUCENE-8080.patch

sorry about that, I regenerated the patch. 

> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-06 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: (was: LUCENE-8080.patch)

> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-06 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: (was: LUCENE-8080.patch)

> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-06 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: LUCENE-8080.patch

> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
>Assignee: Karl Wright
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Updated] (LUCENE-8080) GeoExactCircle improvement

2017-12-06 Thread Ignacio Vera (JIRA)

 [ 
https://issues.apache.org/jira/browse/LUCENE-8080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignacio Vera updated LUCENE-8080:
-
Attachment: LUCENE-8080-test.patch
LUCENE-8080.patch

Attached is the patch with the new version off the circle and a patch for the 
tests ( some of them become invalid).


> GeoExactCircle improvement
> --
>
> Key: LUCENE-8080
> URL: https://issues.apache.org/jira/browse/LUCENE-8080
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/spatial3d
>Reporter: Ignacio Vera
> Attachments: LUCENE-8080-test.patch, LUCENE-8080.patch
>
>
> Hi [~daddywri],
> Current implementation of GeoExactCircle seems to work well for planet models 
> with low flattening (~|0.025|). When flattening increase shapes start 
> becoming invalid because of the cutting angle of the circle plane which 
> results on the center of the circle ending up on the wrong side of the plane. 
> I propose a new version of GeoExactCircle that tries to overcome this problem 
> by creating a new plane for a circle sector in such cases. The new plane is 
> built built for each sector when needed by using two points from the circle 
> edge and the center of the world. The plane is such that it is built as close 
> as possible to the circle plane of the sector. Points from the circle plane 
> must not be within the new plane and the center of the circle must be within 
> the plane.
> This approach seems to work well up to planets with flattening up to around 
> ~|0.1|. I think after that the cutting angles of circle planes can be so thin 
> that the apporach is not valid. 
> Therefore I propose to add this new approach and limit the creation of such 
> circles to planet models with flattening lower than |0.1|. Probably a 
> limitation that does not affect most of the realistic cases.
> In addition this new version forces a minimum of 4 sectors in a circle. The 
> issue on LUCENE-8071 came up again for circles of any radius so we should 
> enforce it for all circles.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org