apache / lucene

Apache Lucene open-source search software
https://lucene.apache.org/
Apache License 2.0
2.71k stars 1.04k forks source link

New GeoShape: GeoDegeneratePath [LUCENE-7955] #9004

Closed asfimport closed 7 years ago

asfimport commented 7 years ago

Hi @DaddyWri,

I propose to add new type of shape for GeoPaths that have a cutoffangle < MINIMUM_RESOLUTION. We can define it as a shape consisting of points exactly on the path. It would be a much lighter version of GeoStandardPath and created only when the cutoff angle is between 0 and MINIMUM_RESOLUTION.

Thanks!

Ignacio


Migrated from LUCENE-7955 by Ignacio Vera (@iverase), resolved Sep 08 2017 Attachments: LUCENE-7955-test.patch

asfimport commented 7 years ago

Karl Wright (@DaddyWri) (migrated from JIRA)

@iverase, I expect to be able to look at this on Friday, but not before.

asfimport commented 7 years ago

Ignacio Vera (@iverase) (migrated from JIRA)

Thanks for the update @DaddyWri.

There is no rush about this request. I just think it is a missing shape to support WKT line strings.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit c09678e540c4e285312e11679e13328f1e84c1e6 in lucene-solr's branch refs/heads/master from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=c09678e

LUCENE-7955: Add zero-width path support.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 93d9fe5092803ac4785e859026ba36cce7147cef in lucene-solr's branch refs/heads/branch_6x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=93d9fe5

LUCENE-7955: Add zero-width path support.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 899ff9103c54deeea9fede416d2c32a592a74ffe in lucene-solr's branch refs/heads/branch_7x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=899ff91

LUCENE-7955: Add zero-width path support.

asfimport commented 7 years ago

Ignacio Vera (@iverase) (migrated from JIRA)

Hi @DaddyWri,

Thanks for this development. I have a question, are the endpoints for this type of shape really needed? I understand that in standard paths end points get buffer to circles but in the case the end points are actually a point of the segment and I think they don't need to be treated specially.

What do you think?

asfimport commented 7 years ago

Ignacio Vera (@iverase) (migrated from JIRA)

Attached the side effect of end points as point. When a shape contains a degenerate path it will always return OVERLAPS because of the following method:

/\*\* Determine if this endpoint intersects a GeoShape.
 \*@param geoShape is the GeoShape.
 \*@return true if there is shape intersect this endpoint.
 \*/
public boolean intersects(final GeoShape geoShape) {
  return geoShape.isWithin(point);
}
asfimport commented 7 years ago

Karl Wright (@DaddyWri) (migrated from JIRA)

@iverase: The endpoints are needed for the computeNearestDistance() functionality, but they don't have to be called for "intersects". I'll make changes to have them not be considered for that. Thanks!

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 4b34c0b9d1a2e7495c7ae568c2472f10f1096504 in lucene-solr's branch refs/heads/branch_7x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=4b34c0b

LUCENE-7955: Adjust degenerate path logic to not consider endpoints unless needed.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit dec7f8957986523e91364e7ac5ab5af888b71799 in lucene-solr's branch refs/heads/branch_6x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=dec7f89

LUCENE-7955: Adjust degenerate path logic to not consider endpoints unless needed.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 80ae2699cf2e8f87587fa5670edb9a5bad0dbedd in lucene-solr's branch refs/heads/master from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=80ae269

LUCENE-7955: Adjust degenerate path logic to not consider endpoints unless needed.

asfimport commented 7 years ago

Ignacio Vera (@iverase) (migrated from JIRA)

Looks great, thanks! Once more thing, it would be good to add this class to StandardObjects so it is serialize efficiently.

thanks again!

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 64d142858df5066524dd777dd7c5d506fc9fb874 in lucene-solr's branch refs/heads/master from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=64d1428

LUCENE-7955: Add the new shape to the standard objects class

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit e5191ee8788381a1a20b90962d06304e1ab62f96 in lucene-solr's branch refs/heads/branch_6x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=e5191ee

LUCENE-7955: Add the new shape to the standard objects class

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 4d2fe50479e5d835d2baf69663ea0a731bcdc3cf in lucene-solr's branch refs/heads/branch_7x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=4d2fe50

LUCENE-7955: Add the new shape to the standard objects class

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit c317ad8c1fb4a2eb56fa22f8e9b9fad79ce661ba in lucene-solr's branch refs/heads/master from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=c317ad8

LUCENE-7955: GeoDegeneratePath did not compute endpoint bounding planes properly.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit d475534ef46bf9c298f5103df57851d1fc9ce530 in lucene-solr's branch refs/heads/branch_6x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=d475534

LUCENE-7955: GeoDegeneratePath did not compute endpoint bounding planes properly.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 0e1a846a49265d33b2dc718b5a6c1b4c69b4d432 in lucene-solr's branch refs/heads/branch_7x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=0e1a846

LUCENE-7955: GeoDegeneratePath did not compute endpoint bounding planes properly.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit ab965d506cdc49b7c038b3c6b99623006409bf89 in lucene-solr's branch refs/heads/master from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=ab965d5

LUCENE-7955: Add tests for nearest path distance, degenerate path.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 7716974ed70fee341d3655d68bd69d3885554005 in lucene-solr's branch refs/heads/branch_6x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=7716974

LUCENE-7955: Add tests for nearest path distance, degenerate path.

asfimport commented 7 years ago

ASF subversion and git services (migrated from JIRA)

Commit 71643600c4ed9f3739cad090525e6c4fc75f4b0e in lucene-solr's branch refs/heads/branch_7x from @DaddyWri https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=7164360

LUCENE-7955: Add tests for nearest path distance, degenerate path.

asfimport commented 7 years ago

Shalin Shekhar Mangar (@shalinmangar) (migrated from JIRA)

Bulk close after 7.1.0 release