[postgis-devel] [PostGIS] #852: The use of tolerance in function point_in_ring is not robust.

PostGIS trac at osgeo.org
Thu Jan 19 00:25:04 PST 2012


#852: The use of tolerance in function point_in_ring is not robust.
---------------------+------------------------------------------------------
 Reporter:  nicklas  |       Owner:  pramsey      
     Type:  defect   |      Status:  new          
 Priority:  blocker  |   Milestone:  PostGIS 2.0.0
Component:  postgis  |     Version:  1.5.X        
 Keywords:           |  
---------------------+------------------------------------------------------

Comment(by strk):

 I mean removing the short-circuit in ST_Intersects:

 {{{
          * short-circuit 2: if the geoms are a point and a polygon,
          * call the point_outside_polygon function.
 }}}

 Which would solve the bug exposed by the st_intersects calls in the
 original description, thus giving us at least a working testcase.

 I don't see any other use for point_in_ring from the ST_Intersects path.

 There is a failing testcase under raster when I try, but it isn't easy for
 me to tell if
 it is a false positive (ie: a bogus testcase). Maybe raster people may
 take a look ?

 {{{
 --- rt_spatial_relationship_expected    2011-11-25 17:13:23.000000000
 +0100
 +++ /tmp/pgis_reg_7435/test_68_out      2012-01-19 09:18:29.000000000
 +0100
 @@ -18,7 +18,7 @@
  test 1.1|2|33|f
  test 1.1|2|34|t
  test 1.1|2|35|t
 -test 1.1|2|36|t
 +test 1.1|2|36|f
  test 1.1|2|41|f
  test 1.1|2|42|t
  test 1.1|2|43|t
 @@ -58,7 +58,7 @@
  test 1.3|2|33|f
  test 1.3|2|34|t
  test 1.3|2|35|t
 -test 1.3|2|36|t
 +test 1.3|2|36|f
  test 1.3|2|41|f
  test 1.3|2|42|t
  test 1.3|2|43|t
 @@ -153,6 +153,7 @@
  test 2.3|2|33|GEOMETRYCOLLECTION EMPTY|
  test 2.3|2|34|POINT(-75.5518328537098 49.2814585505576)|4
  test 2.3|2|35|POINT(-75.5523150760919 49.2818643977074)|4
 +test 2.3|2|36|GEOMETRYCOLLECTION EMPTY|
  test 2.3|2|41|GEOMETRYCOLLECTION EMPTY|
  test 2.3|2|42|LINESTRING(-75.5533120424461
 49.2823793618213,-75.5531972042327 49.2824942000347)|1
  test 2.3|2|43|LINESTRING(-75.5529884291587
 49.2811479840607,-75.5522356128797 49.2815620330142)|3
 }}}

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/852#comment:5>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-devel mailing list