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

Ignacio Vera edited comment on LUCENE-7970 at 9/14/17 11:45 AM:
----------------------------------------------------------------

Hi [~daddywri],

I attached a test with my expections. The test perform the following operations:

1) Generates a circle
2) Generate a point
3) calculates the surface distance between the center of the circle and the 
point
4) if distance is bigger than radius the it is out-of-set else in-set.

This works for the Sphere but you get errors when doing it in WGS84. 

My naive idea is that considering {{circle.center + radius}} and 
{{circle.center - radius}} as the upper and lower latitud for a circle is only 
correct for the SPHERE but it needs to be properly calculated for other 
planets, for example using Vincenti formula.

make sense? or there is a falw in my reasoning? 

 





was (Author: ivera):
Hi [~daddywri],

I attached a test with my expections. The test perform the following operations:

1) Generates a circle
2) Generate a point
3) calculates the surface distance between the center of the circle and the 
point
4) if distance is bigger than radius the it is out-of-set else in-set.

This works for the Sphere but you get errors when doing it in WGS84. 

My naive idea is that considering {{circle.center + radius}} and 
{{circle.center - radius}} as the upper and lower point for a circle is only 
correct for the SPHERE but it needs to be properly calculated for other 
planets, for example using Vincenti formula.

make sense? or there is a falw in my reasoning? 

 




> Improve generation of circle plane 
> -----------------------------------
>
>                 Key: LUCENE-7970
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7970
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/spatial3d
>            Reporter: Ignacio Vera
>         Attachments: LUCENE-7970.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