]> granicus.if.org Git - postgis/commitdiff
Make test for ST_PointOnSurface accept any contained point as valid
authorSandro Santilli <strk@keybit.net>
Fri, 8 Mar 2013 13:58:02 +0000 (13:58 +0000)
committerSandro Santilli <strk@keybit.net>
Fri, 8 Mar 2013 13:58:02 +0000 (13:58 +0000)
This is to support a change in GEOS 3.3.9 / 3.4.0 that started
giving different (but still valid) results.
See http://trac.osgeo.org/geos/ticket/623

git-svn-id: http://svn.osgeo.org/postgis/trunk@11162 b70326c6-7e19-0410-871a-916f4a2858ee

regress/regress_ogc.sql
regress/regress_ogc_expected

index 555afd24ae1ad4a8d4c3776338a974880d0efa1d..2b7b6f9de8de2c7356dc4c2dc72b7f42fbf0787a 100644 (file)
@@ -116,7 +116,10 @@ SELECT 'boundary', ST_astext(ST_boundary('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),
 SELECT 'symdifference', ST_astext(ST_symdifference('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))', 'LINESTRING(0 0, 20 20)'));
 SELECT 'issimple', ST_issimple('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))');
 SELECT 'equals', ST_equals('LINESTRING(0 0, 1 1)', 'LINESTRING(1 1, 0 0)');
-SELECT 'pointonsurface', ST_astext(ST_pointonsurface('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))'));
+WITH inp AS ( SELECT
+ 'POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))'
+::geometry as g )
+SELECT 'pointonsurface', ST_Contains(g, ST_pointonsurface(g)) from inp;
 SELECT 'centroid', ST_astext(ST_centroid('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))'));
 SELECT 'exteriorring', ST_astext(ST_exteriorring(ST_PolygonFromText('POLYGON((52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18))')));
 SELECT 'polygonize_garray', ST_astext(ST_polygonize('{0102000000020000000000000000000000000000000000000000000000000024400000000000000000:0102000000020000000000000000002440000000000000000000000000000000000000000000000000:0102000000020000000000000000002440000000000000244000000000000000000000000000000000:0102000000020000000000000000002440000000000000244000000000000024400000000000000000:0102000000020000000000000000002440000000000000244000000000000000000000000000002440:0102000000020000000000000000000000000000000000244000000000000000000000000000002440:0102000000020000000000000000000000000000000000244000000000000024400000000000002440:0102000000020000000000000000000000000000000000244000000000000000000000000000000000:0102000000020000000000000000000000000000000000244000000000000024400000000000000000}'::geometry[]));
index 9b78d3219a139d5f61e2265fea59b9a8a03ca638..5488b62f9c95e882421346be2b57b02c1ca7439f 100644 (file)
@@ -68,7 +68,7 @@ boundary|MULTILINESTRING((0 0,0 10,10 10,10 0,0 0),(2 2,2 4,4 4,4 2,2 2))
 symdifference|GEOMETRYCOLLECTION(LINESTRING(2 2,4 4),LINESTRING(10 10,20 20),POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,2 4,2 2,4 2,4 4)))
 issimple|t
 equals|t
-pointonsurface|POINT(5 5)
+pointonsurface|t
 centroid|POINT(5.08333333333333 5.08333333333333)
 exteriorring|LINESTRING(52 18,66 23,73 9,48 6,52 18)
 polygonize_garray|GEOMETRYCOLLECTION EMPTY