Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Resolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      GeoRelationutils uses a basic algebraic approach for computing if (and where) a rectangle crosses a polygon by checking the line segments of both the polygon and rectangle. The current suboptimal line crossing approach can be greatly improved by exploiting the orientation of the lines and endpoints. If the endpoints of one line are on different "sides" of the line segment then the two may cross.

      1. LUCENE-6951.patch
        8 kB
        Nicholas Knize

        Activity

        Hide
        Nicholas Knize added a comment -

        Patch includes:

        • Updated line crossing algorithm to use point orientation
        • Updated GPTQ ConstantScoreWrapper MultiValue check to add doc when 1 point is found within the poly - avoids superflous pip checking if the doc is already a match
        • Tests indicate up to 45% boost in GeoPointInPolygonQuery performance
        Show
        Nicholas Knize added a comment - Patch includes: Updated line crossing algorithm to use point orientation Updated GPTQ ConstantScoreWrapper MultiValue check to add doc when 1 point is found within the poly - avoids superflous pip checking if the doc is already a match Tests indicate up to 45% boost in GeoPointInPolygonQuery performance
        Hide
        ASF subversion and git services added a comment -

        Commit 1722466 from Nicholas Knize in branch 'dev/trunk'
        [ https://svn.apache.org/r1722466 ]

        LUCENE-6951: Improve GeoPointInPolygonQuery using point orientation based line crossing algorithm, and adding result for multi-value docs when least 1 point satisfies polygon criteria.

        Show
        ASF subversion and git services added a comment - Commit 1722466 from Nicholas Knize in branch 'dev/trunk' [ https://svn.apache.org/r1722466 ] LUCENE-6951 : Improve GeoPointInPolygonQuery using point orientation based line crossing algorithm, and adding result for multi-value docs when least 1 point satisfies polygon criteria.
        Hide
        ASF subversion and git services added a comment -

        Commit 1722467 from Nicholas Knize in branch 'dev/branches/branch_5x'
        [ https://svn.apache.org/r1722467 ]

        LUCENE-6951: Improve GeoPointInPolygonQuery using point orientation based line crossing algorithm, and adding result for multi-value docs when least 1 point satisfies polygon criteria.

        Show
        ASF subversion and git services added a comment - Commit 1722467 from Nicholas Knize in branch 'dev/branches/branch_5x' [ https://svn.apache.org/r1722467 ] LUCENE-6951 : Improve GeoPointInPolygonQuery using point orientation based line crossing algorithm, and adding result for multi-value docs when least 1 point satisfies polygon criteria.
        Hide
        Michael McCandless added a comment -

        Nicholas Knize can this issue be resolved now?

        Show
        Michael McCandless added a comment - Nicholas Knize can this issue be resolved now?

          People

          • Assignee:
            Unassigned
            Reporter:
            Nicholas Knize
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development