lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Smiley (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (LUCENE-2475) Incorrect Bounding Box calculation results in the exclusion of valid data locations
Date Mon, 02 Dec 2013 04:29:36 GMT

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

David Smiley resolved LUCENE-2475.
----------------------------------

       Resolution: Won't Fix
    Fix Version/s: 4.0-BETA

Closing because the old spatial contrib module referenced here no longer exists as of Solr
4.

By the way, Spatial4j correctly computes the bounding lat-lon box of a circle no matter where
the circle is.  The original code from the old Lucene spatial project (and old Solr code too)
was incorrect, and is no longer used.  So this issue is fixed, in a sense.  But the relevant
code is gone.

> Incorrect Bounding Box calculation results in the exclusion of valid data locations
> -----------------------------------------------------------------------------------
>
>                 Key: LUCENE-2475
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2475
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial
>    Affects Versions: 2.9.1, 3.0
>            Reporter: Julian Atkinson
>             Fix For: 4.0-BETA
>
>         Attachments: BoundingBoxCalucationIssueTest.java, test.html
>
>
> I have found a scenario where some of my location data is not being returned.  The calculated
distance between my search origin and the data is well within my search radius but the data
is not being returned. 
> I have traced this down to what I think is an error when calculating the boundary box
which is used to determine the Shape for the CartesianShapeFilter in  CartesianPolyFilterBuilder.getBoxShape()
> The boundary box calculated by LLRect.createBox() is incorrect.  The box returned is
a box that fits WITHIN the search circle, where the four corners of the box intersect the
circle line. This creates 4 regions where data points are not included - these are regions
that are in the circle but outside the box.
> What I is required is a boundary box that fully CONTAINS the search circle.  As a side
effect you would end up with 4 regions outside of the circle but inside the box.  This would
potentially return data that are not real hits but these can be filtered out by a more precise
distance comparison.
> I will attach a test class that covers the issue with more details and a proposed fix
- a one liner in LLRect.java
> I would appreciate if someone could verify my findings.  All my data tests pass with
this fix but there is one test case in Lucene 3.0.0 that fails and I can't figure out why.
 TestCartesian.testAntiM().



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message