[
https://issues.apache.org/jira/browse/LUCENE-5271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13837432#comment-13837432
]
Ryan Ernst commented on LUCENE-5271:
------------------------------------
Thanks for the patch Gilad. A couple comments:
* If the lat/lon values are large, then the index would be out of bounds for
the table. Today it will not error. Since these are just doubles being passed
in, I think it should still work?
* Why was this test removed? {{assertEquals(314.40338, haversin(1, 2, 3, 4),
10e-5);}}
* Could you move the {{2 * radius}} computation into the table?
* I know this is an already existing problem, but could you move the division
by 2 from h1/h2 to h?
> A slightly more accurate SloppyMath distance
> --------------------------------------------
>
> Key: LUCENE-5271
> URL: https://issues.apache.org/jira/browse/LUCENE-5271
> Project: Lucene - Core
> Issue Type: Improvement
> Components: modules/other
> Reporter: Gilad Barkai
> Priority: Minor
> Attachments: LUCENE-5271.patch, LUCENE-5271.patch
>
>
> SloppyMath, intriduced in LUCENE-5258, uses earth's avg. (according to WGS84)
> ellipsoid radius as an approximation for computing the "spherical" distance.
> (The TO_KILOMETERS constant).
> While this is pretty accurate for long distances (latitude wise) this may
> introduce some small errors while computing distances close to the equator
> (as the earth radius there is larger than the avg.)
> A more accurate approximation would be taking the avg. earth radius at the
> source and destination points. But computing an ellipsoid radius at any given
> point is a heavy function, and this distance should be used in a scoring
> function.. So two optimizations are optional -
> * Pre-compute a table with an earth radius per latitude (the longitude does
> not affect the radius)
> * Instead of using two point radius avg, figure out the avg. latitude
> (exactly between the src and dst points) and get its radius.
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]