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

Ignacio Vera updated LUCENE-7970:
---------------------------------
    Attachment: LUCENE-7970-generator.patch

Hi [~daddywri],

Thanks for the exlpanation, it is clear now.

Attached is the random generator with the addition of the new shape. Before 
committing we should have a look to the test case I have included in the patch.

In some cases we get npe when creating the exact circle. I think the issue is 
when planet models have ab or c different to 1. I think the condition 
{{(Math.abs(cutoffAngle - Math.PI) < Vector.MINIMUM_RESOLUTION}} might be only 
valid for the sphere but needs to be adjusted depending on the planet model.

In the test is shown that for WGS84 happens when cutoff angles are close to 
Math.PI but for crazy planet models with low values it happens a smaller ones.


> Add a Geo3d shape that models an exact circle, even when the planet model is 
> not a sphere
> -----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-7970
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7970
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/spatial3d
>            Reporter: Ignacio Vera
>            Assignee: Karl Wright
>         Attachments: circle.jpg, LUCENE-7970-exact.diff, 
> LUCENE-7970-generator.patch, LUCENE_7970.patch, LUCENE-7970.patch, 
> LUCENE-7970-proposed.patch, LUCENE-7970_testBearingPoint.patch
>
>
> Hi [~Karl wright],
> How circles are currently build do not behave very well when the planet model 
> is not an sphere. when you are close to the border in WGS84 you might get 
> false positves or false negatives when checking if a point is WITHIN. I think 
> the reason is how the points to generate the circle plane are generated which 
> assumes a sphere.
> My proposal is the following:
> Add a new method to PlanetModel:  
> public GeoPoint pointOnBearing(GeoPoint from, double dist, double bearing);
> Which uses and algorithm that takes into account that the planet might not be 
> spherical. For example Vincenty's formulae 
> (https://en.wikipedia.org/wiki/Vincenty%27s_formulae).
> Use this method to generate the points for the circle plane. My experiments 
> shows that this approach removes false negatives in WGS84 meanwhile it works 
> nicely in the Sphere.
> Does it make sense?



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

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

Reply via email to