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

Reply via email to