[
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]