Opened 4 years ago

Closed 3 years ago

#4730 closed defect (fixed)

Overlay GEOS 3.9 regress failures

Reported by: robe Owned by: pramsey
Priority: blocker Milestone: PostGIS 3.1.0
Component: postgis Version: master
Keywords: Cc:

Description (last modified by robe)

Just a placeholder of what to fix: This is compiling against GEOS Head wit CMAKE windows 64-bit, mingw64, msys2 GCC 8.1.0

With switches

 cmake -G "MSYS Makefiles" CMAKE_BUILD_TYPE=Release -DDISABLE_OVERLAYNG=OFF -DDISABLE_GEOS_INLINE=OFF -DBUILD_SHARED_LIBS=ON
Creating database 'postgis_reg'
Loading unpackaged components from /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis
Loading PostGIS into 'postgis_reg'
  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/postgis.sql
  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/postgis_comments.sql
  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/spatial_ref_sys.sql
PostgreSQL 13beta2 on x86_64-w64-mingw32, compiled by gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0, 64-bit
  Postgis 3.1.0dev - (3.1.0alpha2-5-gdcfb1258c) - 2020-07-29 21:47:14
  scripts 3.1.0dev 3.1.0alpha2-5-gdcfb1258c
  GEOS: 3.9.0-CAPI-1.14.0
  PROJ: 6.2.1

Running tests

 ../loader/Point .............. ok in 1453 ms
 ../loader/PointM .............. ok in 1401 ms
 ../loader/PointZ .............. ok in 1390 ms
 ../loader/MultiPoint .............. ok in 1381 ms
 ../loader/MultiPointM .............. ok in 1370 ms
 ../loader/MultiPointZ .............. ok in 1337 ms
 ../loader/Arc .............. ok in 1391 ms
 ../loader/ArcM .............. ok in 1415 ms
 ../loader/ArcZ .............. ok in 1346 ms
 ../loader/Polygon .............. ok in 1331 ms
 ../loader/PolygonM .............. ok in 1324 ms
 ../loader/PolygonZ .............. ok in 1333 ms
 ../loader/TSTPolygon ......... ok in 1147 ms
 ../loader/TSIPolygon ......... ok in 1142 ms
 ../loader/TSTIPolygon ......... ok in 1152 ms
 ../loader/PointWithSchema ..... ok in 752 ms
 ../loader/NoTransPoint ......... ok in 1142 ms
 ../loader/NotReallyMultiPoint ......... ok in 943 ms
 ../loader/MultiToSinglePoint ......... ok in 1194 ms
 ../loader/ReprojectPts ........ ok in 1131 ms
 ../loader/ReprojectPtsD ..... ok in 777 ms
 ../loader/ReprojectPtsGeog ........ ok in 1162 ms
 ../loader/ReprojectPtsGeogD ........ ok in 1082 ms
 ../loader/Latin1 .... ok in 712 ms
 ../loader/Latin1-implicit .... ok in 482 ms
 ../loader/mfile .... ok in 708 ms
 ../dumper/mfiledmp ..... ok in 142 ms
 ../dumper/literalsrid ....... ok in 157 ms
 ../dumper/realtable ....... ok in 149 ms
 ../dumper/nullsintable ....... ok in 155 ms
 ../dumper/null3d ..... ok in 140 ms
 affine .. ok in 110 ms
 bestsrid .. ok in 97 ms
 binary .. ok in 222 ms
 boundary .. ok in 100 ms
 chaikin .. ok in 463 ms
 filterm .. ok in 94 ms
 cluster .. ok in 117 ms
 concave_hull .. ok in 228 ms
 ctors .. ok in 105 ms
 curvetoline .. ok in 95 ms
 dump .. ok in 101 ms
 dumppoints .. ok in 103 ms
 empty .. ok in 112 ms
 estimatedextent .. ok in 444 ms
 forcecurve .. ok in 99 ms
 geography .. ok in 196 ms
 geometric_median .. ok in 100 ms
 hausdorff .. ok in 99 ms
 in_geohash .. ok in 97 ms
 in_gml .. ok in 1058 ms
 in_kml .. ok in 212 ms
 in_encodedpolyline .. ok in 99 ms
 iscollection .. ok in 98 ms
 legacy .. ok in 438 ms
 long_xact .. ok in 411 ms
 lwgeom_regress .. ok in 152 ms
 measures .. ok in 121 ms
 minimum_bounding_circle .. ok in 95 ms
 normalize .. ok in 97 ms
 operators .. ok in 114 ms
 orientation .. ok in 102 ms
 out_geometry .. ok in 137 ms
 out_geography .. ok in 117 ms
 polygonize .. ok in 103 ms
 polyhedralsurface .. ok in 102 ms
 postgis_type_name .. ok in 162 ms
 quantize_coordinates .. ok in 97 ms
 regress .. ok in 198 ms
 regress_bdpoly .. ok in 102 ms
 regress_buffer_params .. ok in 101 ms
 regress_gist_index_nd .. ok in 580 ms
 regress_index .. ok in 937 ms
 regress_index_nulls .. ok in 394 ms
 regress_management .. ok in 253 ms
 regress_selectivity .. ok in 206 ms
 regress_lrs .. ok in 111 ms
 regress_ogc .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_78_diff)
-----------------------------------------------------------------------------
--- regress_ogc_expected        2020-07-29 16:50:12.862035600 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_78_out        2020-07-29 17:52:30.518387000 -0400
@@ -89,9 +89,9 @@
 isvalid|f
 isvalid|t
 intersection|POINT(0 0)
-difference|MULTILINESTRING((0 10,0 2),(0 -2,0 -10))
+difference|MULTILINESTRING((0 -2,0 -10),(0 10,0 2))
 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)))
+symdifference|GEOMETRYCOLLECTION(POLYGON((0 10,10 10,10 0,0 0,0 10),(2 4,2 2,4 2,4 4,2 4)),LINESTRING(2 2,4 4),LINESTRING(10 10,20 20))
 issimple|t
 equals|t
 pointonsurface|t
@@ -107,7 +107,7 @@
 intersects|f
 ST_GeometryN|LINESTRING(0 0,1 1)
 ST_NumGeometries|1
-ST_Union1|POLYGON((0 0,0 1,0.5 1,0.5 1.5,1.5 1.5,1.5 0.5,1 0.5,1 0,0 0))
+ST_Union1|POLYGON((0 1,0.5 1,0.5 1.5,1.5 1.5,1.5 0.5,1 0.5,1 0,0 0,0 1))
 ST_EndPoint1|POINT(2 2)
 ST_PointN1|POINT(1 1)
 ST_PointN2|POINT(2 2)
-----------------------------------------------------------------------------
 regress_ogc_cover .. ok in 97 ms
 regress_ogc_prep .. ok in 107 ms
 regress_proj .. ok in 2967 ms
 relate .. ok in 185 ms
 remove_repeated_points .. ok in 98 ms
 removepoint .. ok in 101 ms
 reverse .. ok in 107 ms
 setpoint .. ok in 105 ms
 simplify .. ok in 101 ms
 simplifyvw .. ok in 100 ms
 size .. ok in 101 ms
 snaptogrid .. ok in 106 ms
 split .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_91_diff)
-----------------------------------------------------------------------------
--- split_expected      2020-07-29 16:50:13.020034200 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_91_out        2020-07-29 17:52:36.732479300 -0400
@@ -6,25 +6,25 @@
 ERROR:  ST_Split: Operation on mixed SRID geometries (LineString, 10) != (LineString, 5)
 4|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))
 5|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))
-6|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0))
-7|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0,10 10,5 10),LINESTRING(5 10,0 10,0 20,5 20),LINESTRING(5 20,10 20))
+6|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0,10 0))
+7|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0,10 0,10 10,5 10,0 10,0 20,5 20,10 20))
 ERROR:  Splitter line has linear intersection with input
 ERROR:  Splitter line has linear intersection with input
-20|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 10)))
-21|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 8,5 8,5 10)))
-22|SRID=12;GEOMETRYCOLLECTION(POLYGON((2 0,0 0,0 10,2 10,2 0)),POLYGON((2 10,10 10,10 0,2 0,2 10),(5 2,8 2,8 8,5 8,5 2)))
-23|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)))
-30|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,5 5),LINESTRING(5 5,10 5))
-31|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,10 5))
+20|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 0)),POLYGON((5 0,5 10,10 10,10 0,5 0)))
+21|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 2,5 2,5 0)),POLYGON((5 0,5 2,8 2,8 8,5 8,5 10,10 10,10 0,5 0)))
+22|SRID=12;GEOMETRYCOLLECTION(POLYGON((2 0,0 0,0 10,2 10,2 0)),POLYGON((2 0,2 10,10 10,10 0,2 0),(5 2,8 2,8 8,5 8,5 2)))
+23|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)))
+30|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0,10 0),LINESTRING(0 5,5 5,10 5))
+31|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0,10 0),LINESTRING(0 5,10 5))
 32|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),LINESTRING(0 5,10 5))
 40|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,10 5))
-50|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)))
-60|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)),LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,5 5),LINESTRING(5 5,10 5))
-70|SRID=11;GEOMETRYCOLLECTION(LINESTRING(1691983.26 4874594.81 312.24,1691984.86 4874593.69 312.24,1691982 4874589.60428571 312.24),LINESTRING(1691982 4874589.60428571 312.24,1691981.30515131 4874588.61164472 312.24),LINESTRING(1691981.30515131 4874588.61164472 312.24,1691979.54 4874586.09 312.24,1691978.03 4874587.16 298.36))
+50|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)))
+60|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)),LINESTRING(0 0,5 0,10 0),LINESTRING(0 5,5 5,10 5))
+70|SRID=11;GEOMETRYCOLLECTION(LINESTRING(1691983.26 4874594.81 312.24,1691984.86 4874593.69 312.24,1691982 4874589.60428571 312.24,1691981.30515131 4874588.61164472 312.24,1691979.54 4874586.09 312.24,1691978.03 4874587.16 298.36))
 80|GEOMETRYCOLLECTION(LINESTRING(0 1,0 1,0 1))
 81|GEOMETRYCOLLECTION(LINESTRING(0 1,0 1))
 82|t
-83|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -1,1 0),LINESTRING(1 0,1 1))
-84|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -1,1 0),LINESTRING(1 0,1 1))
-85|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -2,1 -1),LINESTRING(1 -1,1 1,3 1),LINESTRING(3 1,4 1))
+83|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -1,1 0,1 1))
+84|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -1,1 0,1 1))
+85|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -2,1 -1,1 1,3 1,4 1))
 86|SRID=3;GEOMETRYCOLLECTION(LINESTRING(8 0,10 0),LINESTRING(0 0,5 0),LINESTRING(5 0,8 0),LINESTRING(5 0,5 5),LINESTRING(5 -2,5 0),LINESTRING(5 -5,5 -2),LINESTRING(8 20,10 20),LINESTRING(2 20,5 20),LINESTRING(0 20,2 20),LINESTRING(5 20,8 20))
-----------------------------------------------------------------------------
 sql-mm-serialize .. ok in 138 ms
 sql-mm-circularstring .. ok in 158 ms
 sql-mm-compoundcurve .. ok in 168 ms
 sql-mm-curvepoly .. ok in 164 ms
 sql-mm-general .. ok in 98 ms
 sql-mm-multicurve .. ok in 161 ms
 sql-mm-multisurface .. ok in 151 ms
 swapordinates .. ok in 104 ms
 summary .. ok in 97 ms
 temporal .. ok in 106 ms
 temporal_knn .. ok in 148 ms
 tickets .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_103_diff)
-----------------------------------------------------------------------------
--- tickets_expected    2020-07-29 16:50:13.183034800 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_103_out       2020-07-29 17:52:44.202877700 -0400
@@ -1,4 +1,4 @@
-#2|POLYGON((1 1,1 2,2 2,3 2,3 1,2 1,1 1))
+#2|POLYGON((1 2,2 2,3 2,3 1,2 1,1 1,1 2))
 #11|0
 #21|SRID=31293;MULTIPOINTM(6220.13 5337367.145 4566)
 t
@@ -128,7 +128,7 @@
 #723|f
 #804|<gml:Point srsName="urn:ogc:def:crs:EPSG::4326"><gml:pos srsDimension="2">0 0</gml:pos></gml:Point>
 #845|t
-#834|GEOMETRYCOLLECTION(POINT(0 0 5),LINESTRING(10 10 5,10 0 5))
+#834|LINESTRING(10 10,10 0)
 #884|1|f
 #884|2|t
 #938|
@@ -236,7 +236,7 @@
 #2110.3|t
 #2145|6792004
 #2232|M 0 0 l 0 0 1 0 0 0 1 0 0 0
-#2307|MULTIPOLYGON(((-41.1932 -7.3257,-41.1616 -7.3257,-41.1569 -7.3257,-41.1569 -7.3483,-41.1932 -7.3483,-41.1932 -7.3257),(-41.1616 -7.3257,-41.1879 -7.3257,-41.1879 -7.3425,-41.1616 -7.3425,-41.1616 -7.3257)))
+#2307|MULTIPOLYGON(((-41.1616 -7.3257,-41.1569 -7.3257,-41.1569 -7.3483,-41.1932 -7.3483,-41.1932 -7.3257,-41.1616 -7.3257),(-41.1616 -7.3257,-41.1879 -7.3257,-41.1879 -7.3425,-41.1616 -7.3425,-41.1616 -7.3257)))
 #2409|GeometryCollection[B] with 2 elements:
   MultiSurface[] with 2 elements:
     Polygon[] with 1 ring:
@@ -252,7 +252,7 @@
 #2412|LINESTRING(0 0,10 0,20 0)
 #2420.1|LINESTRING(0 0,10 0,10 10,0 10,0 0)
 #2420.2|LINESTRING(0 0,10 0,10 10,0 10)
-#2423|POLYGON((-10 0,-9.2388 3.82683,-7.07107 7.07107,-3.82683 9.2388,0 10,3.82683 9.2388,7.07107 7.07107,9.2388 3.82683,10 0,-10 0))
+#2423|POLYGON((-9.80785 1.9509,-8.3147 5.5557,-5.5557 8.3147,-1.9509 9.80785,1.9509 9.80785,5.5557 8.3147,8.3147 5.5557,9.80785 1.9509,10 0,-10 0,-9.80785 1.9509))
 #2424|MULTILINESTRING((0 0,10 0,24 3,30 10))
 #2427|POINT(-1 0)
 #2168|5340.76237395|5340.76237395|0
@@ -327,10 +327,10 @@
 #4011|ST_MultiLineString|MULTILINESTRING EMPTY|t|t
 #4011|ST_GeometryCollection|MULTILINESTRING((0 0,0 0))|f|f
 #4025|
-ERROR:  lwgeom_intersection: GEOS Error: TopologyException: Input geom 0 is invalid: Self-intersection
-ERROR:  lwgeom_difference: GEOS Error: TopologyException: Input geom 0 is invalid: Self-intersection
-ERROR:  lwgeom_symdifference: GEOS Error: TopologyException: Input geom 0 is invalid: Self-intersection
-ERROR:  lwgeom_union: GEOS Error: TopologyException: Input geom 0 is invalid: Self-intersection
+ERROR:  lwgeom_intersection: GEOS Error: TopologyException: side location conflict at 5 5
+ERROR:  lwgeom_difference: GEOS Error: TopologyException: side location conflict at 5 5
+ERROR:  lwgeom_symdifference: GEOS Error: TopologyException: side location conflict at 5 5
+ERROR:  lwgeom_union: GEOS Error: TopologyException: side location conflict at 5 5
 #4055a|4326
 #4055b|4326
 #4089|LINESTRING Z (1 1 1,3 3 1)
-----------------------------------------------------------------------------
 twkb .. ok in 113 ms
 typmod .. ok in 18169 ms
 wkb .. ok in 140 ms
 wkt .. ok in 133 ms
 wmsservers .. ok in 270 ms
 offsetcurve .. ok in 115 ms
 relatematch .. ok in 100 ms
 isvaliddetail .. ok in 106 ms
 sharedpaths .. ok in 115 ms
 snap .. ok in 98 ms
 node .. ok in 103 ms
 unaryunion .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_115_diff)
-----------------------------------------------------------------------------
--- unaryunion_expected 2020-07-29 16:50:13.215036100 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_115_out       2020-07-29 17:53:05.655517100 -0400
@@ -1,3 +1,3 @@
-1|MULTILINESTRING((0 0,5 0),(5 0,10 0),(5 -5,5 0),(5 0,5 5))
-2|POLYGON((10 5,10 0,0 0,0 10,5 10,5 15,15 15,15 5,10 5))
-3|GEOMETRYCOLLECTION(POINT(-5 4),LINESTRING(2 -10,2 0),LINESTRING(2 10,2 20),POLYGON((10 5,10 0,2 0,0 0,0 10,2 10,5 10,5 15,15 15,15 5,10 5)))
+1|MULTILINESTRING((0 0,5 0),(5 -5,5 0),(5 0,5 5),(5 0,10 0))
+2|POLYGON((0 10,5 10,5 15,15 15,15 5,10 5,10 0,0 0,0 10))
+3|GEOMETRYCOLLECTION(POINT(-5 4),POLYGON((0 0,0 10,2 10,5 10,5 15,15 15,15 5,10 5,10 0,2 0,0 0)),LINESTRING(2 -10,2 0),LINESTRING(2 10,2 20))
-----------------------------------------------------------------------------
 clean .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_116_diff)
-----------------------------------------------------------------------------
--- clean_expected      2020-07-29 16:50:12.265596300 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_116_out       2020-07-29 17:53:05.979517300 -0400
@@ -27,5 +27,5 @@
 RT|16.4|t|t|f
 RT|17.1|t|t|f
 #1719.1|POINT(0 0)
-#1719.2|GEOMETRYCOLLECTION(POINT(0 0),MULTIPOINT(3 4,5 2),POINT(4 4),MULTIPOLYGON(((0 0,5 5,10 0,0 0)),((5 5,0 10,10 10,5 5))))
+#1719.2|GEOMETRYCOLLECTION(POINT(0 0),MULTIPOINT(3 4,5 2),POINT(4 4),MULTIPOLYGON(((5 5,10 0,0 0,5 5)),((5 5,0 10,10 10,5 5))))
 #1719.3|MULTIPOINT(3 4,5 2)
-----------------------------------------------------------------------------
 relate_bnr .. ok in 243 ms
 delaunaytriangles .. ok in 105 ms
 clipbybox2d .. ok in 114 ms
 subdivide .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_120_diff)
-----------------------------------------------------------------------------
--- subdivide_expected  2020-07-29 16:50:13.105035200 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_120_out       2020-07-29 17:53:11.565273800 -0400
@@ -4,7 +4,7 @@
 ERROR:  lwgeom_subdivide: cannot subdivide to fewer than 5 vertices per output
 #3522|POINT(1 1)
 #3744|1600000000000000
-4|29321996468.6|29321996468.6|1857|256
+4|29321996468.6|29321996468.6|1856|256
 #4211|0.00008316000
 #4217|0.00002463668
 #4301|0.00213614552
-----------------------------------------------------------------------------
 voronoi .. ok in 115 ms
 regress_brin_index .. ok in 598 ms
 regress_brin_index_3d .. ok in 440 ms
 regress_brin_index_geography .. ok in 222 ms
 minimum_clearance .. ok in 105 ms
 oriented_envelope .. ok in 97 ms
 point_coordinates .. ok in 107 ms
 out_geojson .. ok in 145 ms
 frechet .. ok in 102 ms
 geos38 .. ok in 98 ms
 geos39 .. ok in 106 ms
 in_geojson .. ok in 121 ms
 regress_spgist_index_2d .. ok in 335 ms
 regress_spgist_index_3d .. ok in 667 ms
 regress_spgist_index_nd .. ok in 680 ms
 mvt .. ok in 231 ms
 mvt_jsonb .. ok in 102 ms
 geobuf .. ok in 105 ms
 uninstall .  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/uninstall_postgis.sql
. ok (4831)

Run tests: 139
Failed: 6
make[2]: *** [Makefile:237: check] Error 6
make[2]: Leaving directory '/projects/postgis/postgis-git/regress/core'
make[1]: *** [Makefile:47: check-regress] Error 2
make[1]: Leaving directory '/projects/postgis/postgis-git/regress'
make: *** [GNUmakefile:20: check-regress] Error 1


Change History (18)

comment:1 by robe, 4 years ago

Description: modified (diff)

comment:2 by robe, 4 years ago

Topology failures

PostgreSQL 13beta2 on x86_64-w64-mingw32, compiled by gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0, 64-bit
  Postgis 3.1.0dev - (3.1.0alpha2-5-gdcfb1258c) - 2020-07-29 21:47:14
  scripts 3.1.0dev 3.1.0alpha2-5-gdcfb1258c
  GEOS: 3.9.0-CAPI-1.14.0
  PROJ: 6.2.1

Running tests

 regress/legacy_validate .. ok in 736 ms
 regress/legacy_predicate .. ok in 1069 ms
 regress/legacy_invalid .. ok in 442 ms
 regress/sqlmm .. ok in 421 ms
 regress/legacy_query .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_5_diff)
-----------------------------------------------------------------------------
--- regress/legacy_query_expected       2020-07-29 16:50:13.665709200 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_5_out 2020-07-29 18:07:04.590358100 -0400
@@ -10,14 +10,14 @@
 5
 6
 features.big_signs.the_geom SRID:0 TYPE:MULTIPOINT DIMS:2
-P1|1|MULTIPOLYGON(((21 14,21 6,9 6,9 14,9 22,21 22,21 14)))
-P2|2|MULTIPOLYGON(((35 14,35 6,21 6,21 14,21 22,35 22,35 14)))
-P3|3|MULTIPOLYGON(((47 14,47 6,35 6,35 14,35 22,47 22,47 14)))
+P1|1|MULTIPOLYGON(((21 6,9 6,9 14,9 22,21 22,21 14,21 6)))
+P2|2|MULTIPOLYGON(((35 6,21 6,21 14,21 22,35 22,35 14,35 6)))
+P3|3|MULTIPOLYGON(((47 6,35 6,35 14,35 22,47 22,47 14,47 6)))
 P4|4|MULTIPOLYGON(((25 30,17 30,17 40,31 40,31 30,25 30)))
 P5|5|MULTIPOLYGON(((8 30,3 30,3 38,16 38,16 30,8 30),(4 31,7 31,7 34,4 34,4 31)))
 F3|6|MULTIPOLYGON(((9 22,21 22,21 14,9 14,9 22)))
 F6|7|MULTIPOLYGON(((9 14,21 14,21 6,9 6,9 14)))
-F3F4|8|MULTIPOLYGON(((9 22,21 22,35 22,35 14,21 14,9 14,9 22)))
+F3F4|8|MULTIPOLYGON(((9 14,9 22,21 22,35 22,35 14,21 14,9 14)))
 F1|9|MULTIPOLYGON(((8 30,3 30,3 38,16 38,16 30,8 30),(4 31,7 31,7 34,4 34,4 31)))
 S1|1|MULTIPOINT(21 14)
 S2|2|MULTIPOINT(35 14)
@@ -38,7 +38,7 @@
 S1S2|MULTIPOINT(21 14,35 14)
 R1R2|MULTILINESTRING((9 14,21 14,35 14),(36 38,38 35,41 34,42 33,45 32,47 28,50 28,52 32,57 33,57 36,59 39,61 38,62 41,47 42,45 40,41 40))
 R4|MULTILINESTRING((25 30,25 35))
-P1P2|MULTIPOLYGON(((21 6,9 6,9 14,9 22,21 22,35 22,35 14,35 6,21 6)))
-P3P4|MULTIPOLYGON(((47 14,47 6,35 6,35 14,35 22,47 22,47 14)),((25 30,17 30,17 40,31 40,31 30,25 30)))
-F3F6|MULTIPOLYGON(((21 14,21 6,9 6,9 14,9 22,21 22,21 14)))
+P1P2|MULTIPOLYGON(((9 6,9 14,9 22,21 22,35 22,35 14,35 6,21 6,9 6)))
+P3P4|MULTIPOLYGON(((47 6,35 6,35 14,35 22,47 22,47 14,47 6)),((25 30,17 30,17 40,31 40,31 30,25 30)))
+F3F6|MULTIPOLYGON(((21 6,9 6,9 14,9 22,21 22,21 14,21 6)))
 Topology 'city_data' dropped
-----------------------------------------------------------------------------
 regress/addnode .. ok in 701 ms
 regress/addedge .. ok in 724 ms
 regress/addface .. ok in 2413 ms
 regress/addface2.5d .. ok in 434 ms
 regress/addtopogeometrycolumn .. ok in 487 ms
 regress/polygonize .. ok in 452 ms
 regress/st_addisoedge .. ok in 421 ms
 regress/st_addisonode .. ok in 429 ms
 regress/st_addedgemodface .. ok in 649 ms
 regress/st_addedgenewfaces .. ok in 630 ms
 regress/st_changeedgegeom .. ok in 472 ms
 regress/st_createtopogeo .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_17_diff)
-----------------------------------------------------------------------------
--- regress/st_createtopogeo_expected   2020-05-31 04:55:52.105524200 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_17_out        2020-07-29 18:07:19.774824500 -0400
@@ -23,20 +23,17 @@
 T9|2 nodes|4 edges|3 faces
 T10|MULTIPOLYGON(((0 0,5 10,10 0,0 0)),((0 20,5 10,10 20,0 20)))
 T10|1 nodes|2 edges|2 faces
-T11|GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),POINT(5 0))
-T11|3 nodes|2 edges|0 faces
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T11|0 nodes|0 edges|0 faces
 T12|GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),POINT(0 0),POINT(10 0))
 T12|2 nodes|1 edges|0 faces
-T13|GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((5 5,5 15,15 15,15 5,5 5),(10 10,12 10,10 12,10 10))),LINESTRING(0 0,20 0),MULTIPOINT(0 0,10 0,5 0),MULTILINESTRING((0 0,10 0),(10 0,15 5)),POINT(5 0),POINT(10.5 10.5),POINT(100 500))
-T13|10 nodes|12 edges|5 faces
-T13|1 isolated nodes in face 0
-T13|1 isolated nodes in face 5
-T14|GEOMETRYCOLLECTION(LINESTRING(8 30,16 30,16 38,3 38,3 30,8 30),POINT(4 31),LINESTRING(4 31,7 31,7 34,4 34,4 31),POINT(8 30),POINT(9 6),LINESTRING(9 6,9 14),LINESTRING(9 6,21 6),POLYGON((9 14,21 14,21 6,9 6,9 14)),POINT(9 14),LINESTRING(9 14,9 22),LINESTRING(9 14,21 14),POLYGON((9 22,21 22,21 14,9 14,9 22)),POINT(9 22),LINESTRING(9 22,21 22),POINT(9 35),LINESTRING(9 35,13 35),POINT(13 35),POLYGON((25 30,17 30,17 40,31 40,31 30,25 30)),POINT(20 37),POINT(21 6),LINESTRING(21 6,21 14),LINESTRING(21 6,35 6),POLYGON((21 14,35 14,35 6,21 6,21 14)),POINT(21 14),LINESTRING(21 14,21 22),LINESTRING(35 14,21 14),POLYGON((21 22,35 22,35 14,21 14,21 22)),POINT(21 22),LINESTRING(21 22,35 22),POINT(25 30),LINESTRING(25 30,25 35),POINT(25 35),POINT(35 6),LINESTRING(35 6,35 14),LINESTRING(35 6,47 6),POLYGON((35 14,47 14,47 6,35 6,35 14)),POINT(35 14),LINESTRING(35 14,35 22),LINESTRING(35 14,47 14),POLYGON((35 22,47 22,47 14,35 14,35 22)),POINT(35 22),LINESTRING(35 22,47 22),LINESTRING(36 38,38 35,41 34,42 33,45 32,47 28,50 28,52 32,57 33),POINT(36 38),LINESTRING(41 40,45 40,47 42,62 41,61 38,59 39,57 36,57 33),POINT(41 40),POINT(47 6),LINESTRING(47 6,47 14),POINT(47 14),LINESTRING(47 14,47 22),POINT(47 22),POINT(57 33))
-T14|22 nodes|24 edges|9 faces
-T14|1 isolated nodes in face 3
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T13|0 nodes|0 edges|0 faces
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T14|0 nodes|0 edges|0 faces
 T15|GEOMETRYCOLLECTION(LINESTRING(-5 -2,0 0),LINESTRING(0 0,10 10),LINESTRING(0 0,5 2,10 10),LINESTRING(10 10,12 10))
 T15|4 nodes|4 edges|1 faces
-T16|GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),LINESTRING(0 3,20 4),LINESTRING(10 0,20 4))
-T16|4 nodes|3 edges|0 faces
-T17|MULTILINESTRING((832709.937 816560.25,832705.813 816470.25,832661.937 816561.875),(832705.812 816470.25,832709.937 816560.25),(832661.938 816561.875,832705.813 816470.25))
-T17|7 nodes|8 edges|2 faces
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T16|0 nodes|0 edges|0 faces
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T17|0 nodes|0 edges|0 faces
-----------------------------------------------------------------------------
 regress/st_getfacegeometry .. ok in 443 ms
 regress/st_getfaceedges .. ok in 756 ms
 regress/st_modedgeheal .. ok in 1443 ms
 regress/st_modedgesplit .. ok in 917 ms
 regress/st_newedgeheal .. ok in 1455 ms
 regress/st_newedgessplit .. ok in 786 ms
 regress/st_remedgenewface .. ok in 1372 ms
 regress/st_remedgemodface .. ok in 1608 ms
 regress/st_simplify .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_26_diff)
-----------------------------------------------------------------------------
--- regress/st_simplify_expected        2020-05-31 04:55:52.112526500 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_26_out        2020-07-29 18:07:30.509783100 -0400
@@ -1,9 +1,8 @@
 t
 L1
+ERROR:  Spatial exception - geometry intersects edge 1
 N2
-S1|f|t
-S2|f|t
+S1|f|
+S2|f|
 L2
-HS1|f|t
-HS2|f|t
 f
-----------------------------------------------------------------------------
 regress/topoelement .. ok in 95 ms
 regress/topoelementarray_agg .. ok in 93 ms
 regress/topogeo_addlinestring .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_29_diff)
-----------------------------------------------------------------------------
--- regress/topogeo_addlinestring_expected      2020-07-29 16:50:13.807887500 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_29_out        2020-07-29 18:07:34.213493600 -0400
@@ -25,166 +25,66 @@
 contained|E|18|sn10|en27
 contained|E|29|sn27|en28
 contained|E|30|sn28|en13
-overlap|31
-overlap|32
-overlap|N|29||POINT(49 22)
-overlap|N|30||POINT(45 22)
-overlap|E|8|sn18|en30
-overlap|E|31|sn19|en29
-overlap|E|32|sn30|en19
-cross|34
-cross|35
-cross|N|31||POINT(49 18)
-cross|N|32||POINT(47 17.6)
-cross|N|33||POINT(44 17)
-cross|E|15|sn12|en32
-cross|E|33|sn32|en19
-cross|E|34|sn31|en32
-cross|E|35|sn32|en33
-snap|7
-snap|36
-snap|38
-snap|N|34||POINT(18 22.2)
-snap|N|35||POINT(22.4 22)
-snap|N|36||POINT(21.2 20.4)
-snap|E|7|sn17|en35
-snap|E|36|sn34|en17
-snap|E|37|sn35|en18
-snap|E|38|sn35|en36
-snap_again|7
-snap_again|36
-snap_again|38
-crossover|4
-crossover|N|
-crossover|N|
-crossover|N|
-crossover|N|
-crossover|N|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover_again|4
-contains|25
-contains|46
-contains|47
-contains|N|
-contains|N|
-contains|E|
-contains|E|
-nodecross|48
-nodecross|49
-nodecross|N|44||POINT(18 37)
-nodecross|N|45||POINT(22 37)
-nodecross|E|48|sn44|en4
-nodecross|E|49|sn4|en45
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses an edge (endnodes in faces 0 and 9187201950435737471)
+ERROR:  SQL/MM Spatial exception - geometry crosses an edge (endnodes in faces 0 and 9187201950435737471)
+ERROR:  SQL/MM Spatial exception - geometry crosses an edge (endnodes in faces 0 and 9187201950435737471)
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 9
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 9
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 iso_ex_2segs|28
-#1613.1|50
-#1613.1|N|46||POINT(556267.6 144887)
-#1613.1|N|47||POINT(556267 144887.4)
-#1613.1|E|50|sn46|en47
-#1613.2|52
-#1613.2|53
-#1613.2|N|
-#1613.2|N|
-#1613.2|N|
-#1613.2|E|
-#1613.2|E|
-#1613.2|E|
-#1613.2|E|
-#1631.1|54
-#1631.1|N|51||POINT(556267.6 144887)
-#1631.1|N|52||POINT(556267.6 144888)
-#1631.1|E|54|sn51|en52
-#1631.2|55
-#1631.2|56
-#1631.2|N|53||POINT(556254.6 144886.6)
-#1631.2|N|54||POINT(556267.6 144887)
-#1631.2|E|55|sn53|en51
-#1631.2|E|56|sn51|en54
-#1641.1|57
-#1641.1|N|55||POINT(-0.2 0.4)
-#1641.1|N|56||POINT(0.2 0.4)
-#1641.1|E|57|sn55|en56
-#1641.2|59
-#1641.2|60
-#1641.2|N|57||POINT(0 0.2)
-#1641.2|N|58||POINT(0 0.4)
-#1641.2|N|59||POINT(0 0.4)
-#1641.2|E|57|sn55|en58
-#1641.2|E|58|sn58|en56
-#1641.2|E|59|sn57|en58
-#1641.2|E|60|sn58|en59
-#1641.3|61
-#1641.3|N|60||POINT(-0.2 0.4)
-#1641.3|N|61||POINT(0.2 0.4)
-#1641.3|E|61|sn60|en61
-#1641.4|63
-#1641.4|64
-#1641.4|N|62||POINT(0 0.2)
-#1641.4|N|63||POINT(0 0.4)
-#1641.4|N|64||POINT(0 0.4)
-#1641.4|E|61|sn60|en63
-#1641.4|E|62|sn63|en61
-#1641.4|E|63|sn62|en63
-#1641.4|E|64|sn63|en64
+#1613.1|36
+#1613.1|N|45||POINT(556267.6 144887)
+#1613.1|N|46||POINT(556267 144887.4)
+#1613.1|E|36|sn45|en46
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 36
+#1631.1|37
+#1631.1|N|49||POINT(556267.6 144887)
+#1631.1|N|50||POINT(556267.6 144888)
+#1631.1|E|37|sn49|en50
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+#1641.1|38
+#1641.1|N|53||POINT(-0.2 0.4)
+#1641.1|N|54||POINT(0.2 0.4)
+#1641.1|E|38|sn53|en54
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 38
+#1641.3|39
+#1641.3|N|57||POINT(-0.2 0.4)
+#1641.3|N|58||POINT(0.2 0.4)
+#1641.3|E|39|sn57|en58
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 39
 #1650.1
-#1650.265
-#1650.2|N|65||POINT(0 0)
-#1650.2|N|66||POINT(0 1)
-#1650.2|E|65|sn65|en66
-#1650.3|65
-#1650.3|66
-#1650.3|N|67||POINT(10 0)
-#1650.3|E|66|sn65|en67
-#1654.1|N|68
-#1654.1|N|68|0|POINT(0 0)
-#1654.2|67
-#1654.2|68
-#1654.2|N|69||POINT(-10 1)
-#1654.2|N|70||POINT(10 1)
-#1654.2|E|67|sn69|en68
-#1654.2|E|68|sn68|en70
-#1706.1|E|69
-#1706.1|N|71||POINT(20 10)
-#1706.1|N|72||POINT(10 20)
-#1706.1|E|69|sn71|en72
-#1706.2|E*|69
-#1706.2|E*|70
-#1706.2|E*|71
-#1706.2|E*|73
-#1706.2|N|73||POINT(10 0)
-#1706.2|N|74||POINT(10 10)
-#1706.2|N|75||POINT(9 12)
-#1706.2|N|76||POINT(15 10)
-#1706.2|E|69|sn71|en76
-#1706.2|E|70|sn74|en75
-#1706.2|E|71|sn73|en74
-#1706.2|E|72|sn75|en72
-#1706.2|E|73|sn76|en74
-#1714.1|N|77
-#1714.1|N|77|0|POINT(10 0)
-#1714.2|E*|74
-#1714.2|N|78||POINT(0 20)
-#1714.2|E|74|sn77|en78
+#1650.240
+#1650.2|N|61||POINT(0 0)
+#1650.2|N|62||POINT(0 1)
+#1650.2|E|40|sn61|en62
+#1650.3|41
+#1650.3|N|63||POINT(10 0)
+#1650.3|E|41|sn62|en63
+#1654.1|N|64
+#1654.1|N|64|0|POINT(0 0)
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+#1706.1|E|42
+#1706.1|N|67||POINT(20 10)
+#1706.1|N|68||POINT(10 20)
+#1706.1|E|42|sn67|en68
+ERROR:  Spatial exception - geometry intersects edge 42
+#1714.1|N|70
+#1714.1|N|70|0|POINT(10 0)
+#1714.2|E*|43
+#1714.2|N|71||POINT(0 20)
+#1714.2|E|43|sn70|en71
 Topology 'city_data' dropped
 t3280.start|t
 t3280|L11
 t3280|L22
-t3280|L1b2
-t3280|L1b4
+ERROR:  Spatial exception - geometry intersects edge 2
 t3280.end|Topology 'bug3280' dropped
 t3380.start|t
 t3380.L1|1
-t3380.L2|3
-t3380.L2|4
-t3380.L3|5
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 1
+t3380.L3|2
 t3380.end|Topology 'bug3380' dropped
 t3402.start|t
 t3402.L1|1
@@ -192,23 +92,20 @@
 t3402.end|Topology 'bug3402' dropped
 t3412.start|t
 t3412.L1|1
-t3412.L2|4
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 t3412.end|Topology 'bug3412' dropped
 t3371.start|t
 t3371.L1|1
-t3371.L2|3
-t3371.L2|2
+ERROR:  Spatial exception - geometry intersects edge 1
 t3371.end|Topology 'bug3711' dropped
 t3838.start|t
 t3838.L1|1
-t3838.L2|9
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 t3838.end|Topology 'bug3838' dropped
 t1855_1.start|t
 t1855_1.0|1
 t1855_1.end|Topology 'bug1855' dropped
 t1855_2.start|t
 t1855_2.0|1
-t1855_2.1|3
-t1855_2.1|5
-t1855_2.1|6
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 1
 t1855_2.end|Topology 'bug1855' dropped
-----------------------------------------------------------------------------
 regress/topogeo_addpoint .. ok in 879 ms
 regress/topogeo_addpolygon .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_31_diff)
-----------------------------------------------------------------------------
--- regress/topogeo_addpolygon_expected 2020-07-29 16:50:13.824891400 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_31_out        2020-07-29 18:07:36.496458400 -0400
@@ -19,44 +19,19 @@
 iso_uni_hole|E|29|sn25|en25
 iso_uni_hole|F|11
 iso_uni_hole|F|12
-ex|4
-ex_union|6
-ex_union|7
-half|4
-half|E|30|sn14|en18
-half|F|13
-split|4
-split|13
-split|N||POINT(28 18)
-split|E|
-split|E|
-split|E|
-split|E|
-split|F|
-split|F|
-ex_hole|3
-ex_hole|5
-ex_hole|6
-ex_hole|7
-ex_hole|8
-ex_hole|13
-ex_hole|14
-ex_hole|15
-ex_hole_snap|3
-ex_hole_snap|5
-ex_hole_snap|6
-ex_hole_snap|7
-ex_hole_snap|8
-ex_hole_snap|13
-ex_hole_snap|14
-ex_hole_snap|15
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 Topology 'city_data' dropped
 t1855_0.start|t
 t1855_0.0|1
-t1855_0.1|2
+ERROR:  Spatial exception - geometry intersects edge 1
 t1855_0.end|Topology 'bug1855' dropped
 t1946.start|t
 t1946.0|1
-t1946.1|2
-t1946.2|1
+ERROR:  Spatial exception - geometry intersects edge 1
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 2
 t1946.end|Topology 'bug1946' dropped
-----------------------------------------------------------------------------
 regress/topogeom_edit .. ok in 469 ms
 regress/topogeometry_type .. ok in 832 ms
 regress/topojson .. ok in 1955 ms
 regress/topologysummary .. ok in 171 ms
 regress/topo2.5d .. ok in 506 ms
 regress/totopogeom .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_37_diff)
-----------------------------------------------------------------------------
--- regress/totopogeom_expected 2020-05-31 04:55:52.121526000 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_37_out        2020-07-29 18:07:43.402992700 -0400
@@ -32,21 +32,19 @@
 MULTIPOLYGON EMPTY
 MULTIPOLYGON EMPTY
 GEOMETRYCOLLECTION EMPTY
-tolerance_1|0.5
-tolerance_topo_1|0.5
-tolerance_0|0
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 custom_search_path|0
 #1790.1|0|0
 #1790.2|0|0
 #1790.3|0|0
 #1968.1|0
 #1968.2|0
-tgup1.1|5|100|1
-tgup1.2|5|200|2
-tgup1.3|5|200|4
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 #3359.setval|1|2|1
 #3359.line.1|1
-#3359.line.2|2
-#3359.area.1|1
-#3359.area.2|2
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 Topology 'tt' dropped
-----------------------------------------------------------------------------
 regress/droptopology .. ok in 750 ms
 regress/droptopogeometrycolumn .. ok in 443 ms
 regress/copytopology .. ok in 1543 ms
 regress/createtopogeom .. ok in 585 ms
 regress/createtopology .. ok in 1002 ms
 regress/gml .. ok in 707 ms
 regress/getnodebypoint .. ok in 416 ms
 regress/getedgebypoint .. ok in 421 ms
 regress/getfacebypoint .. ok in 527 ms
 regress/getringedges .. ok in 518 ms
 regress/gettopogeomelements .. ok in 624 ms
 regress/layertrigger .. ok in 736 ms
 regress/validatetopology .. ok in 434 ms
 uninstall .  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/uninstall_topology.sql
  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/uninstall_postgis.sql
. ok (4831)

Run tests: 51
Failed: 6
make[1]: *** [Makefile:91: check-regress] Error 6
make[1]: Leaving directory '/projects/postgis/postgis-git/topology/test'
make: *** [Makefile:141: check-regress] Error 2

comment:3 by leoregina <lr@…>, 4 years ago

In a41108f/git:

Address some geos3.9 by normalizing - references #4730 for postgis 3.1.0

comment:4 by Regina Obe <lr@…>, 4 years ago

In 5a37d81/git:

Address some geos3.9 overlay failures by normalizing - references #4730 for postgis 3.1.0

comment:5 by robe, 4 years ago

Now down to 3 test failures - I think the remainder of these for geometry/geography represent true behavior changes:

PostgreSQL 13beta2 on x86_64-w64-mingw32, compiled by gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0, 64-bit
  Postgis 3.1.0dev - (3.1.0alpha2-23-g81b9af77b) - 2020-07-30 00:20:13
  scripts 3.1.0dev 3.1.0alpha2-23-g81b9af77b
  GEOS: 3.9.0-CAPI-1.14.0
  PROJ: 6.2.1

Running tests

 ../loader/Point .............. ok in 1455 ms
 ../loader/PointM .............. ok in 1419 ms
 ../loader/PointZ .............. ok in 1391 ms
 ../loader/MultiPoint .............. ok in 1406 ms
 ../loader/MultiPointM .............. ok in 1428 ms
 ../loader/MultiPointZ .............. ok in 1416 ms
 ../loader/Arc .............. ok in 1425 ms
 ../loader/ArcM .............. ok in 1436 ms
 ../loader/ArcZ .............. ok in 1395 ms
 ../loader/Polygon .............. ok in 1421 ms
 ../loader/PolygonM .............. ok in 1374 ms
 ../loader/PolygonZ .............. ok in 1386 ms
 ../loader/TSTPolygon ......... ok in 1239 ms
 ../loader/TSIPolygon ......... ok in 1269 ms
 ../loader/TSTIPolygon ......... ok in 1223 ms
 ../loader/PointWithSchema ..... ok in 780 ms
 ../loader/NoTransPoint ......... ok in 1160 ms
 ../loader/NotReallyMultiPoint ......... ok in 962 ms
 ../loader/MultiToSinglePoint ......... ok in 1196 ms
 ../loader/ReprojectPts ........ ok in 1175 ms
 ../loader/ReprojectPtsD ..... ok in 794 ms
 ../loader/ReprojectPtsGeog ........ ok in 1255 ms
 ../loader/ReprojectPtsGeogD ........ ok in 1204 ms
 ../loader/Latin1 .... ok in 787 ms
 ../loader/Latin1-implicit .... ok in 470 ms
 ../loader/mfile .... ok in 788 ms
 ../dumper/mfiledmp ..... ok in 145 ms
 ../dumper/literalsrid ....... ok in 155 ms
 ../dumper/realtable ....... ok in 148 ms
 ../dumper/nullsintable ....... ok in 153 ms
 ../dumper/null3d ..... ok in 136 ms
 affine .. ok in 106 ms
 bestsrid .. ok in 101 ms
 binary .. ok in 219 ms
 boundary .. ok in 94 ms
 chaikin .. ok in 97 ms
 filterm .. ok in 96 ms
 cluster .. ok in 113 ms
 concave_hull .. ok in 227 ms
 ctors .. ok in 99 ms
 curvetoline .. ok in 95 ms
 dump .. ok in 99 ms
 dumppoints .. ok in 98 ms
 empty .. ok in 108 ms
 estimatedextent .. ok in 370 ms
 forcecurve .. ok in 106 ms
 geography .. ok in 196 ms
 geometric_median .. ok in 101 ms
 hausdorff .. ok in 98 ms
 in_geohash .. ok in 96 ms
 in_gml .. ok in 1124 ms
 in_kml .. ok in 207 ms
 in_encodedpolyline .. ok in 105 ms
 iscollection .. ok in 96 ms
 legacy .. ok in 470 ms
 long_xact .. ok in 178 ms
 lwgeom_regress .. ok in 166 ms
 measures .. ok in 112 ms
 minimum_bounding_circle .. ok in 99 ms
 normalize .. ok in 97 ms
 operators .. ok in 113 ms
 orientation .. ok in 102 ms
 out_geometry .. ok in 142 ms
 out_geography .. ok in 124 ms
 polygonize .. ok in 100 ms
 polyhedralsurface .. ok in 116 ms
 postgis_type_name .. ok in 158 ms
 quantize_coordinates .. ok in 97 ms
 regress .. ok in 199 ms
 regress_bdpoly .. ok in 103 ms
 regress_buffer_params .. ok in 100 ms
 regress_gist_index_nd .. ok in 600 ms
 regress_index .. ok in 941 ms
 regress_index_nulls .. ok in 372 ms
 regress_management .. ok in 221 ms
 regress_selectivity .. ok in 211 ms
 regress_lrs .. ok in 108 ms
 regress_ogc .. ok in 124 ms
 regress_ogc_cover .. ok in 98 ms
 regress_ogc_prep .. ok in 105 ms
 regress_proj .. ok in 3114 ms
 relate .. ok in 181 ms
 remove_repeated_points .. ok in 98 ms
 removepoint .. ok in 97 ms
 reverse .. ok in 106 ms
 setpoint .. ok in 99 ms
 simplify .. ok in 101 ms
 simplifyvw .. ok in 102 ms
 size .. ok in 102 ms
 snaptogrid .. ok in 108 ms
 split .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_91_diff)
-----------------------------------------------------------------------------
--- split_expected      2020-07-29 20:16:55.437349200 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_91_out        2020-07-29 21:06:29.796145200 -0400
@@ -6,25 +6,25 @@
 ERROR:  ST_Split: Operation on mixed SRID geometries (LineString, 10) != (LineString, 5)
 4|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))
 5|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0))
-6|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0))
-7|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0,10 10,5 10),LINESTRING(5 10,0 10,0 20,5 20),LINESTRING(5 20,10 20))
+6|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0,10 0))
+7|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0,10 0,10 10,5 10,0 10,0 20,5 20,10 20))
 ERROR:  Splitter line has linear intersection with input
 ERROR:  Splitter line has linear intersection with input
-20|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 10)))
-21|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 8,5 8,5 10)))
-22|SRID=12;GEOMETRYCOLLECTION(POLYGON((2 0,0 0,0 10,2 10,2 0)),POLYGON((2 10,10 10,10 0,2 0,2 10),(5 2,8 2,8 8,5 8,5 2)))
-23|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)))
-30|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,5 5),LINESTRING(5 5,10 5))
-31|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,10 5))
+20|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 0)),POLYGON((5 0,5 10,10 10,10 0,5 0)))
+21|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 2,5 2,5 0)),POLYGON((5 0,5 2,8 2,8 8,5 8,5 10,10 10,10 0,5 0)))
+22|SRID=12;GEOMETRYCOLLECTION(POLYGON((2 0,0 0,0 10,2 10,2 0)),POLYGON((2 0,2 10,10 10,10 0,2 0),(5 2,8 2,8 8,5 8,5 2)))
+23|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)))
+30|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0,10 0),LINESTRING(0 5,5 5,10 5))
+31|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0,10 0),LINESTRING(0 5,10 5))
 32|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),LINESTRING(0 5,10 5))
 40|SRID=10;GEOMETRYCOLLECTION(LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,10 5))
-50|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)))
-60|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 10,10 10,10 0,5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)),LINESTRING(0 0,5 0),LINESTRING(5 0,10 0),LINESTRING(0 5,5 5),LINESTRING(5 5,10 5))
-70|SRID=11;GEOMETRYCOLLECTION(LINESTRING(1691983.26 4874594.81 312.24,1691984.86 4874593.69 312.24,1691982 4874589.604285714 312.24),LINESTRING(1691982 4874589.604285714 312.24,1691981.3051513054 4874588.611644722 312.24),LINESTRING(1691981.3051513054 4874588.611644722 312.24,1691979.54 4874586.09 312.24,1691978.03 4874587.16 298.36))
+50|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)))
+60|SRID=12;GEOMETRYCOLLECTION(POLYGON((5 0,0 0,0 10,5 10,5 8,2 8,2 6,5 6,5 4,2 4,2 2,5 2,5 0)),POLYGON((5 0,5 2,8 2,8 4,5 4,5 6,8 6,8 8,5 8,5 10,10 10,10 0,5 0)),POLYGON((20 0,20 10,30 10,30 0,20 0),(25 5,28 5,25 8,25 5)),LINESTRING(0 0,5 0,10 0),LINESTRING(0 5,5 5,10 5))
+70|SRID=11;GEOMETRYCOLLECTION(LINESTRING(1691983.26 4874594.81 312.24,1691984.86 4874593.69 312.24,1691982 4874589.604285714 312.24,1691981.3051513054 4874588.611644722 312.24,1691979.54 4874586.09 312.24,1691978.03 4874587.16 298.36))
 80|GEOMETRYCOLLECTION(LINESTRING(0 1,0 1,0 1))
 81|GEOMETRYCOLLECTION(LINESTRING(0 1,0 1))
 82|t
-83|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -1,1 0),LINESTRING(1 0,1 1))
-84|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -1,1 0),LINESTRING(1 0,1 1))
-85|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -2,1 -1),LINESTRING(1 -1,1 1,3 1),LINESTRING(3 1,4 1))
+83|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -1,1 0,1 1))
+84|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -1,1 0,1 1))
+85|SRID=3;GEOMETRYCOLLECTION(LINESTRING(1 -2,1 -1,1 1,3 1,4 1))
 86|SRID=3;GEOMETRYCOLLECTION(LINESTRING(8 0,10 0),LINESTRING(0 0,5 0),LINESTRING(5 0,8 0),LINESTRING(5 0,5 5),LINESTRING(5 -2,5 0),LINESTRING(5 -5,5 -2),LINESTRING(8 20,10 20),LINESTRING(2 20,5 20),LINESTRING(0 20,2 20),LINESTRING(5 20,8 20))
-----------------------------------------------------------------------------
 sql-mm-serialize .. ok in 136 ms
 sql-mm-circularstring .. ok in 146 ms
 sql-mm-compoundcurve .. ok in 149 ms
 sql-mm-curvepoly .. ok in 160 ms
 sql-mm-general .. ok in 99 ms
 sql-mm-multicurve .. ok in 167 ms
 sql-mm-multisurface .. ok in 150 ms
 swapordinates .. ok in 101 ms
 summary .. ok in 101 ms
 temporal .. ok in 113 ms
 temporal_knn .. ok in 158 ms
 tickets .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_103_diff)
-----------------------------------------------------------------------------
--- tickets_expected    2020-07-29 21:04:50.135370700 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_103_out       2020-07-29 21:06:37.571058500 -0400
@@ -128,7 +128,7 @@
 #723|f
 #804|<gml:Point srsName="urn:ogc:def:crs:EPSG::4326"><gml:pos srsDimension="2">0 0</gml:pos></gml:Point>
 #845|t
-#834|GEOMETRYCOLLECTION(POINT(0 0 5),LINESTRING(10 10 5,10 0 5))
+#834|LINESTRING(10 10,10 0)
 #884|1|f
 #884|2|t
 #938|
@@ -252,7 +252,7 @@
 #2412|LINESTRING(0 0,10 0,20 0)
 #2420.1|LINESTRING(0 0,10 0,10 10,0 10,0 0)
 #2420.2|LINESTRING(0 0,10 0,10 10,0 10)
-#2423|POLYGON((-10 0,-9.239 3.827,-7.071 7.071,-3.827 9.239,0 10,3.827 9.239,7.071 7.071,9.239 3.827,10 0,-10 0))
+#2423|POLYGON((-10 0,-9.808 1.951,-8.315 5.556,-5.556 8.315,-1.951 9.808,1.951 9.808,5.556 8.315,8.315 5.556,9.808 1.951,10 0,-10 0))
 #2424|MULTILINESTRING((0 0,10 0,24 3,30 10))
 #2427|POINT(-1 0)
 #2168|5340.76237395|5340.76237395|0
@@ -327,10 +327,10 @@
 #4011|ST_MultiLineString|MULTILINESTRING EMPTY|t|t
 #4011|ST_GeometryCollection|MULTILINESTRING((0 0,0 0))|f|f
 #4025|
-ERROR:  lwgeom_intersection: GEOS Error: TopologyException: Input geom 0 is invalid: Self-intersection
-ERROR:  lwgeom_difference: GEOS Error: TopologyException: Input geom 0 is invalid: Self-intersection
-ERROR:  lwgeom_symdifference: GEOS Error: TopologyException: Input geom 0 is invalid: Self-intersection
-ERROR:  lwgeom_union: GEOS Error: TopologyException: Input geom 0 is invalid: Self-intersection
+ERROR:  lwgeom_intersection: GEOS Error: TopologyException: side location conflict at 5 5
+ERROR:  lwgeom_difference: GEOS Error: TopologyException: side location conflict at 5 5
+ERROR:  lwgeom_symdifference: GEOS Error: TopologyException: side location conflict at 5 5
+ERROR:  lwgeom_union: GEOS Error: TopologyException: side location conflict at 5 5
 #4055a|4326
 #4055b|4326
 #4089|LINESTRING Z (1 1 1,3 3 1)
-----------------------------------------------------------------------------
 twkb .. ok in 104 ms
 typmod .. ok in 18383 ms
 wkb .. ok in 144 ms
 wkt .. ok in 138 ms
 wmsservers .. ok in 363 ms
 offsetcurve .. ok in 128 ms
 relatematch .. ok in 105 ms
 isvaliddetail .. ok in 110 ms
 sharedpaths .. ok in 113 ms
 snap .. ok in 102 ms
 node .. ok in 105 ms
 unaryunion .. ok in 107 ms
 clean .. ok in 176 ms
 relate_bnr .. ok in 271 ms
 delaunaytriangles .. ok in 125 ms
 clipbybox2d .. ok in 110 ms
 subdivide .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_120_diff)
-----------------------------------------------------------------------------
--- subdivide_expected  2020-07-29 20:16:50.437375400 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_120_out       2020-07-29 21:07:06.056466900 -0400
@@ -4,7 +4,7 @@
 ERROR:  lwgeom_subdivide: cannot subdivide to fewer than 5 vertices per output
 #3522|POINT(1 1)
 #3744|1600000000000000
-4|29321996468.6|29321996468.6|1857|256
+4|29321996468.6|29321996468.6|1856|256
 #4211|0.00008316000
 #4217|0.00002463668
 #4301|0.00213614552
-----------------------------------------------------------------------------
 voronoi .. ok in 106 ms
 regress_brin_index .. ok in 558 ms
 regress_brin_index_3d .. ok in 457 ms
 regress_brin_index_geography .. ok in 214 ms
 minimum_clearance .. ok in 110 ms
 oriented_envelope .. ok in 115 ms
 point_coordinates .. ok in 108 ms
 out_geojson .. ok in 137 ms
 frechet .. ok in 127 ms
 geos38 .. ok in 103 ms
 geos39 .. ok in 104 ms
 in_geojson .. ok in 123 ms
 regress_spgist_index_2d .. ok in 381 ms
 regress_spgist_index_3d .. ok in 715 ms
 regress_spgist_index_nd .. ok in 709 ms
 mvt .. ok in 233 ms
 mvt_jsonb .. ok in 105 ms
 geobuf .. ok in 105 ms
 uninstall .  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/uninstall_postgis.sql
. ok (4831)

Run tests: 139
Failed: 3
make[1]: *** [Makefile:237: check] Error 3
make[1]: Leaving directory '/projects/postgis/postgis-git/regress/core'
make: *** [Makefile:47: check-regress] Error 2



comment:6 by Regina Obe <lr@…>, 4 years ago

In 80f9e8af/git:

Address some geos3.9 overlay topology failures by normalizing - references #4730 for postgis 3.1.0

comment:7 by robe, 4 years ago

Sadly could only address one topology test by normalizing, rest appear to be caused by behavior change :(

So what it shows now is:

PostgreSQL 13beta2 on x86_64-w64-mingw32, compiled by gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0, 64-bit
  Postgis 3.1.0dev - (3.1.0alpha2-23-g81b9af77b) - 2020-07-30 00:20:13
  scripts 3.1.0dev 3.1.0alpha2-23-g81b9af77b
  GEOS: 3.9.0-CAPI-1.14.0
  PROJ: 6.2.1

Running tests

 regress/legacy_validate .. ok in 745 ms
 regress/legacy_predicate .. ok in 1021 ms
 regress/legacy_invalid .. ok in 442 ms
 regress/sqlmm .. ok in 430 ms
 regress/legacy_query .. ok in 839 ms
 regress/addnode .. ok in 724 ms
 regress/addedge .. ok in 817 ms
 regress/addface .. ok in 2297 ms
 regress/addface2.5d .. ok in 446 ms
 regress/addtopogeometrycolumn .. ok in 497 ms
 regress/polygonize .. ok in 447 ms
 regress/st_addisoedge .. ok in 421 ms
 regress/st_addisonode .. ok in 449 ms
 regress/st_addedgemodface .. ok in 637 ms
 regress/st_addedgenewfaces .. ok in 634 ms
 regress/st_changeedgegeom .. ok in 464 ms
 regress/st_createtopogeo .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_17_diff)
-----------------------------------------------------------------------------
--- regress/st_createtopogeo_expected   2020-07-29 20:16:50.707793500 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_17_out        2020-07-29 21:46:54.908906000 -0400
@@ -23,20 +23,17 @@
 T9|2 nodes|4 edges|3 faces
 T10|MULTIPOLYGON(((0 0,5 10,10 0,0 0)),((0 20,5 10,10 20,0 20)))
 T10|1 nodes|2 edges|2 faces
-T11|GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),POINT(5 0))
-T11|3 nodes|2 edges|0 faces
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T11|0 nodes|0 edges|0 faces
 T12|GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),POINT(0 0),POINT(10 0))
 T12|2 nodes|1 edges|0 faces
-T13|GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)),((5 5,5 15,15 15,15 5,5 5),(10 10,12 10,10 12,10 10))),LINESTRING(0 0,20 0),MULTIPOINT(0 0,10 0,5 0),MULTILINESTRING((0 0,10 0),(10 0,15 5)),POINT(5 0),POINT(10.5 10.5),POINT(100 500))
-T13|10 nodes|12 edges|5 faces
-T13|1 isolated nodes in face 0
-T13|1 isolated nodes in face 5
-T14|GEOMETRYCOLLECTION(LINESTRING(8 30,16 30,16 38,3 38,3 30,8 30),POINT(4 31),LINESTRING(4 31,7 31,7 34,4 34,4 31),POINT(8 30),POINT(9 6),LINESTRING(9 6,9 14),LINESTRING(9 6,21 6),POLYGON((9 14,21 14,21 6,9 6,9 14)),POINT(9 14),LINESTRING(9 14,9 22),LINESTRING(9 14,21 14),POLYGON((9 22,21 22,21 14,9 14,9 22)),POINT(9 22),LINESTRING(9 22,21 22),POINT(9 35),LINESTRING(9 35,13 35),POINT(13 35),POLYGON((25 30,17 30,17 40,31 40,31 30,25 30)),POINT(20 37),POINT(21 6),LINESTRING(21 6,21 14),LINESTRING(21 6,35 6),POLYGON((21 14,35 14,35 6,21 6,21 14)),POINT(21 14),LINESTRING(21 14,21 22),LINESTRING(35 14,21 14),POLYGON((21 22,35 22,35 14,21 14,21 22)),POINT(21 22),LINESTRING(21 22,35 22),POINT(25 30),LINESTRING(25 30,25 35),POINT(25 35),POINT(35 6),LINESTRING(35 6,35 14),LINESTRING(35 6,47 6),POLYGON((35 14,47 14,47 6,35 6,35 14)),POINT(35 14),LINESTRING(35 14,35 22),LINESTRING(35 14,47 14),POLYGON((35 22,47 22,47 14,35 14,35 22)),POINT(35 22),LINESTRING(35 22,47 22),LINESTRING(36 38,38 35,41 34,42 33,45 32,47 28,50 28,52 32,57 33),POINT(36 38),LINESTRING(41 40,45 40,47 42,62 41,61 38,59 39,57 36,57 33),POINT(41 40),POINT(47 6),LINESTRING(47 6,47 14),POINT(47 14),LINESTRING(47 14,47 22),POINT(47 22),POINT(57 33))
-T14|22 nodes|24 edges|9 faces
-T14|1 isolated nodes in face 3
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T13|0 nodes|0 edges|0 faces
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T14|0 nodes|0 edges|0 faces
 T15|GEOMETRYCOLLECTION(LINESTRING(-5 -2,0 0),LINESTRING(0 0,10 10),LINESTRING(0 0,5 2,10 10),LINESTRING(10 10,12 10))
 T15|4 nodes|4 edges|1 faces
-T16|GEOMETRYCOLLECTION(LINESTRING(0 0,10 0),LINESTRING(0 3,20 4),LINESTRING(10 0,20 4))
-T16|4 nodes|3 edges|0 faces
-T17|MULTILINESTRING((832709.937 816560.25,832705.813 816470.25,832661.937 816561.875),(832705.812 816470.25,832709.937 816560.25),(832661.938 816561.875,832705.813 816470.25))
-T17|7 nodes|8 edges|2 faces
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T16|0 nodes|0 edges|0 faces
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+T17|0 nodes|0 edges|0 faces
-----------------------------------------------------------------------------
 regress/st_getfacegeometry .. ok in 457 ms
 regress/st_getfaceedges .. ok in 788 ms
 regress/st_modedgeheal .. ok in 1474 ms
 regress/st_modedgesplit .. ok in 864 ms
 regress/st_newedgeheal .. ok in 1481 ms
 regress/st_newedgessplit .. ok in 577 ms
 regress/st_remedgenewface .. ok in 1324 ms
 regress/st_remedgemodface .. ok in 1302 ms
 regress/st_simplify .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_26_diff)
-----------------------------------------------------------------------------
--- regress/st_simplify_expected        2020-07-29 20:16:50.715788000 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_26_out        2020-07-29 21:47:05.072452700 -0400
@@ -1,9 +1,8 @@
 t
 L1
+ERROR:  Spatial exception - geometry intersects edge 1
 N2
-S1|f|t
-S2|f|t
+S1|f|
+S2|f|
 L2
-HS1|f|t
-HS2|f|t
 f
-----------------------------------------------------------------------------
 regress/topoelement .. ok in 95 ms
 regress/topoelementarray_agg .. ok in 95 ms
 regress/topogeo_addlinestring .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_29_diff)
-----------------------------------------------------------------------------
--- regress/topogeo_addlinestring_expected      2020-07-29 20:16:55.448350000 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_29_out        2020-07-29 21:47:08.832928700 -0400
@@ -25,166 +25,66 @@
 contained|E|18|sn10|en27
 contained|E|29|sn27|en28
 contained|E|30|sn28|en13
-overlap|31
-overlap|32
-overlap|N|29||POINT(49 22)
-overlap|N|30||POINT(45 22)
-overlap|E|8|sn18|en30
-overlap|E|31|sn19|en29
-overlap|E|32|sn30|en19
-cross|34
-cross|35
-cross|N|31||POINT(49 18)
-cross|N|32||POINT(47 17.6)
-cross|N|33||POINT(44 17)
-cross|E|15|sn12|en32
-cross|E|33|sn32|en19
-cross|E|34|sn31|en32
-cross|E|35|sn32|en33
-snap|7
-snap|36
-snap|38
-snap|N|34||POINT(18 22.200000000000003)
-snap|N|35||POINT(22.400000000000002 22)
-snap|N|36||POINT(21.200000000000003 20.400000000000002)
-snap|E|7|sn17|en35
-snap|E|36|sn34|en17
-snap|E|37|sn35|en18
-snap|E|38|sn35|en36
-snap_again|7
-snap_again|36
-snap_again|38
-crossover|4
-crossover|N|
-crossover|N|
-crossover|N|
-crossover|N|
-crossover|N|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover|E|
-crossover_again|4
-contains|25
-contains|46
-contains|47
-contains|N|
-contains|N|
-contains|E|
-contains|E|
-nodecross|48
-nodecross|49
-nodecross|N|44||POINT(18 37)
-nodecross|N|45||POINT(22 37)
-nodecross|E|48|sn44|en4
-nodecross|E|49|sn4|en45
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses an edge (endnodes in faces 0 and 9187201950435737471)
+ERROR:  SQL/MM Spatial exception - geometry crosses an edge (endnodes in faces 0 and 9187201950435737471)
+ERROR:  SQL/MM Spatial exception - geometry crosses an edge (endnodes in faces 0 and 9187201950435737471)
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 9
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 9
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 iso_ex_2segs|28
-#1613.1|50
-#1613.1|N|46||POINT(556267.6 144887)
-#1613.1|N|47||POINT(556267 144887.4)
-#1613.1|E|50|sn46|en47
-#1613.2|52
-#1613.2|53
-#1613.2|N|
-#1613.2|N|
-#1613.2|N|
-#1613.2|E|
-#1613.2|E|
-#1613.2|E|
-#1613.2|E|
-#1631.1|54
-#1631.1|N|51||POINT(556267.6 144887)
-#1631.1|N|52||POINT(556267.6 144888)
-#1631.1|E|54|sn51|en52
-#1631.2|55
-#1631.2|56
-#1631.2|N|53||POINT(556254.6 144886.6)
-#1631.2|N|54||POINT(556267.6 144887)
-#1631.2|E|55|sn53|en51
-#1631.2|E|56|sn51|en54
-#1641.1|57
-#1641.1|N|55||POINT(-0.2 0.4)
-#1641.1|N|56||POINT(0.2 0.4)
-#1641.1|E|57|sn55|en56
-#1641.2|59
-#1641.2|60
-#1641.2|N|57||POINT(0 0.2)
-#1641.2|N|58||POINT(0 0.4)
-#1641.2|N|59||POINT(0 0.4)
-#1641.2|E|57|sn55|en58
-#1641.2|E|58|sn58|en56
-#1641.2|E|59|sn57|en58
-#1641.2|E|60|sn58|en59
-#1641.3|61
-#1641.3|N|60||POINT(-0.2 0.4)
-#1641.3|N|61||POINT(0.2 0.4)
-#1641.3|E|61|sn60|en61
-#1641.4|63
-#1641.4|64
-#1641.4|N|62||POINT(0 0.2)
-#1641.4|N|63||POINT(0 0.4)
-#1641.4|N|64||POINT(0 0.4)
-#1641.4|E|61|sn60|en63
-#1641.4|E|62|sn63|en61
-#1641.4|E|63|sn62|en63
-#1641.4|E|64|sn63|en64
+#1613.1|36
+#1613.1|N|45||POINT(556267.6 144887)
+#1613.1|N|46||POINT(556267 144887.4)
+#1613.1|E|36|sn45|en46
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 36
+#1631.1|37
+#1631.1|N|49||POINT(556267.6 144887)
+#1631.1|N|50||POINT(556267.6 144888)
+#1631.1|E|37|sn49|en50
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+#1641.1|38
+#1641.1|N|53||POINT(-0.2 0.4)
+#1641.1|N|54||POINT(0.2 0.4)
+#1641.1|E|38|sn53|en54
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 38
+#1641.3|39
+#1641.3|N|57||POINT(-0.2 0.4)
+#1641.3|N|58||POINT(0.2 0.4)
+#1641.3|E|39|sn57|en58
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 39
 #1650.1
-#1650.265
-#1650.2|N|65||POINT(0 0)
-#1650.2|N|66||POINT(0 1)
-#1650.2|E|65|sn65|en66
-#1650.3|65
-#1650.3|66
-#1650.3|N|67||POINT(10 0)
-#1650.3|E|66|sn65|en67
-#1654.1|N|68
-#1654.1|N|68|0|POINT(0 0)
-#1654.2|67
-#1654.2|68
-#1654.2|N|69||POINT(-10 1)
-#1654.2|N|70||POINT(10 1)
-#1654.2|E|67|sn69|en68
-#1654.2|E|68|sn68|en70
-#1706.1|E|69
-#1706.1|N|71||POINT(20 10)
-#1706.1|N|72||POINT(10 20)
-#1706.1|E|69|sn71|en72
-#1706.2|E*|69
-#1706.2|E*|70
-#1706.2|E*|71
-#1706.2|E*|73
-#1706.2|N|73||POINT(10 0)
-#1706.2|N|74||POINT(10 10)
-#1706.2|N|75||POINT(9 12)
-#1706.2|N|76||POINT(15 10)
-#1706.2|E|69|sn71|en76
-#1706.2|E|70|sn74|en75
-#1706.2|E|71|sn73|en74
-#1706.2|E|72|sn75|en72
-#1706.2|E|73|sn76|en74
-#1714.1|N|77
-#1714.1|N|77|0|POINT(10 0)
-#1714.2|E*|74
-#1714.2|N|78||POINT(0 20)
-#1714.2|E|74|sn77|en78
+#1650.240
+#1650.2|N|61||POINT(0 0)
+#1650.2|N|62||POINT(0 1)
+#1650.2|E|40|sn61|en62
+#1650.3|41
+#1650.3|N|63||POINT(10 0)
+#1650.3|E|41|sn62|en63
+#1654.1|N|64
+#1654.1|N|64|0|POINT(0 0)
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+#1706.1|E|42
+#1706.1|N|67||POINT(20 10)
+#1706.1|N|68||POINT(10 20)
+#1706.1|E|42|sn67|en68
+ERROR:  Spatial exception - geometry intersects edge 42
+#1714.1|N|70
+#1714.1|N|70|0|POINT(10 0)
+#1714.2|E*|43
+#1714.2|N|71||POINT(0 20)
+#1714.2|E|43|sn70|en71
 Topology 'city_data' dropped
 t3280.start|t
 t3280|L11
 t3280|L22
-t3280|L1b2
-t3280|L1b4
+ERROR:  Spatial exception - geometry intersects edge 2
 t3280.end|Topology 'bug3280' dropped
 t3380.start|t
 t3380.L1|1
-t3380.L2|3
-t3380.L2|4
-t3380.L3|5
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 1
+t3380.L3|2
 t3380.end|Topology 'bug3380' dropped
 t3402.start|t
 t3402.L1|1
@@ -192,23 +92,20 @@
 t3402.end|Topology 'bug3402' dropped
 t3412.start|t
 t3412.L1|1
-t3412.L2|4
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 t3412.end|Topology 'bug3412' dropped
 t3371.start|t
 t3371.L1|1
-t3371.L2|3
-t3371.L2|2
+ERROR:  Spatial exception - geometry intersects edge 1
 t3371.end|Topology 'bug3711' dropped
 t3838.start|t
 t3838.L1|1
-t3838.L2|9
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 t3838.end|Topology 'bug3838' dropped
 t1855_1.start|t
 t1855_1.0|1
 t1855_1.end|Topology 'bug1855' dropped
 t1855_2.start|t
 t1855_2.0|1
-t1855_2.1|3
-t1855_2.1|5
-t1855_2.1|6
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 1
 t1855_2.end|Topology 'bug1855' dropped
-----------------------------------------------------------------------------
 regress/topogeo_addpoint .. ok in 772 ms
 regress/topogeo_addpolygon .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_31_diff)
-----------------------------------------------------------------------------
--- regress/topogeo_addpolygon_expected 2020-07-29 20:16:50.722786900 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_31_out        2020-07-29 21:47:11.040251800 -0400
@@ -19,44 +19,19 @@
 iso_uni_hole|E|29|sn25|en25
 iso_uni_hole|F|11
 iso_uni_hole|F|12
-ex|4
-ex_union|6
-ex_union|7
-half|4
-half|E|30|sn14|en18
-half|F|13
-split|4
-split|13
-split|N||POINT(28 18)
-split|E|
-split|E|
-split|E|
-split|E|
-split|F|
-split|F|
-ex_hole|3
-ex_hole|5
-ex_hole|6
-ex_hole|7
-ex_hole|8
-ex_hole|13
-ex_hole|14
-ex_hole|15
-ex_hole_snap|3
-ex_hole_snap|5
-ex_hole_snap|6
-ex_hole_snap|7
-ex_hole_snap|8
-ex_hole_snap|13
-ex_hole_snap|14
-ex_hole_snap|15
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 Topology 'city_data' dropped
 t1855_0.start|t
 t1855_0.0|1
-t1855_0.1|2
+ERROR:  Spatial exception - geometry intersects edge 1
 t1855_0.end|Topology 'bug1855' dropped
 t1946.start|t
 t1946.0|1
-t1946.1|2
-t1946.2|1
+ERROR:  Spatial exception - geometry intersects edge 1
+ERROR:  SQL/MM Spatial exception - geometry crosses edge 2
 t1946.end|Topology 'bug1946' dropped
-----------------------------------------------------------------------------
 regress/topogeom_edit .. ok in 561 ms
 regress/topogeometry_type .. ok in 817 ms
 regress/topojson .. ok in 900 ms
 regress/topologysummary .. ok in 157 ms
 regress/topo2.5d .. ok in 551 ms
 regress/totopogeom .. failed (diff expected obtained: /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_37_diff)
-----------------------------------------------------------------------------
--- regress/totopogeom_expected 2020-07-29 20:16:50.763784300 -0400
+++ /projects/postgis/tmp/3.1.0dev_pg13_geos3.9_gdal3.0.2w64/test_37_out        2020-07-29 21:47:16.584352100 -0400
@@ -32,21 +32,19 @@
 MULTIPOLYGON EMPTY
 MULTIPOLYGON EMPTY
 GEOMETRYCOLLECTION EMPTY
-tolerance_1|0.5
-tolerance_topo_1|0.5
-tolerance_0|0
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 custom_search_path|0
 #1790.1|0|0
 #1790.2|0|0
 #1790.3|0|0
 #1968.1|0
 #1968.2|0
-tgup1.1|5|100|1
-tgup1.2|5|200|2
-tgup1.3|5|200|4
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 #3359.setval|1|2|1
 #3359.line.1|1
-#3359.line.2|2
-#3359.area.1|1
-#3359.area.2|2
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
+ERROR:  SQL/MM Spatial exception - geometry crosses a node
 Topology 'tt' dropped
-----------------------------------------------------------------------------
 regress/droptopology .. ok in 748 ms
 regress/droptopogeometrycolumn .. ok in 454 ms
 regress/copytopology .. ok in 1568 ms
 regress/createtopogeom .. ok in 583 ms
 regress/createtopology .. ok in 1003 ms
 regress/gml .. ok in 716 ms
 regress/getnodebypoint .. ok in 439 ms
 regress/getedgebypoint .. ok in 436 ms
 regress/getfacebypoint .. ok in 467 ms
 regress/getringedges .. ok in 464 ms
 regress/gettopogeomelements .. ok in 637 ms
 regress/layertrigger .. ok in 758 ms
 regress/validatetopology .. ok in 429 ms
 uninstall .  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/uninstall_topology.sql
  /projects/postgis/postgis-git/regress/00-regress-install/share/contrib/postgis/uninstall_postgis.sql
. ok (4831)

Run tests: 51
Failed: 5
make[1]: *** [Makefile:91: check-regress] Error 5
make[1]: Leaving directory '/projects/postgis/postgis-git/topology/test'
make: *** [Makefile:141: check-regress] Error 2

comment:8 by Algunenano, 4 years ago

Reported a couple of issues from running MVTs using GEOS as backend:

And I'm pushing some extra normalization to fix some of the regress changes.

comment:9 by Raúl Marín <git@…>, 4 years ago

In eedc336/git:

Normalize for OverlayNG

References #4730

comment:10 by strk, 4 years ago

Test number 11 from Topology's ST_CreateTopoGeo is pretty simple.

select createtopology('t');
select topology.st_createtopogeo('t', 'GEOMETRYCOLLECTION(LINESTRING(0 0, 10 0),POINT(5 0))');

comment:11 by strk, 4 years ago

It looks like edge splitting by node is failing, for the ST_CreateTopoGeo case:

DEBUG:  Noding input linework
DEBUG:  Computed 1 noded edges
DEBUG:  Merged edges: 1
DEBUG:  Collected 3 input points
DEBUG:  Noded edges became 1 after point-split
DEBUG:  Total nodes count: 3

The problem is change in behaviour of ST_UnaryUnion, which merges lines instead of keeping them separated:

select ST_AsText(ST_UnaryUnion(ST_Split('LINESTRING(0 0, 10 0)', 'POINT(5 0)')));

The above query returns, with old Overlay:

 MULTILINESTRING((0 0,5 0),(5 0,10 0))

While with OverlayNG:

 LINESTRING(0 0,5 0,10 0)

comment:12 by strk, 4 years ago

With [b81beb8d3/git] I avoided the ST_UnaryUnion call in ST_CreateTopoGeo, fixing that specific case (and improving performances at the same time). Other failures persist.

comment:13 by robe, 4 years ago

My cunit was broken, but now that it's fixed, I see cunit failures as well related to this. They are the following:

Suite: split
  Test: test_lwline_split_by_point_to ...passed
  Test: test_lwgeom_split ...FAILED
    1. cu_split.c:136  - ASSERT_STRING_EQUAL
        * Expected: SRID=1;GEOMETRYCOLLECTION(POLYGON((7 1,0 1,0 10,7 10,7 1)),POLYGON((7 10,10 10,10 1,7 1,7 10)))
        * Obtained: SRID=1;GEOMETRYCOLLECTION(POLYGON((0 1,0 10,7 10,7 1,0 1)),POLYGON((7 1,7 10,10 10,10 1,7 1)))

Suite: wrapx
  Test: test_lwgeom_wrapx ...FAILED
    1. cu_wrapx.c:85  - ASSERT_STRING_EQUAL
        * Expected: MULTILINESTRING((0 0,8 0),(-2 0,0 0))
        * Obtained: MULTILINESTRING((-2 0,0 0),(0 0,8 0))
    2. cu_wrapx.c:123  - ASSERT_STRING_EQUAL
        * Expected: GEOMETRYCOLLECTION(MULTIPOLYGON(((22 0,20 0,20 10,22 10,22 4,22 2,22 0)),((2 10,10 10,10 0,2 0,2 2,4 2,4 4,2 4,2 10))),MULTIPOLYGON(((22 11,20 11,20 21,22 21,22 15,22 13,22 11)),((2 21,10 21,10 11,2 11,2 13,4 13,4 15,2 15,2 21))))
        * Obtained: GEOMETRYCOLLECTION(MULTIPOLYGON(((20 0,20 10,22 10,22 4,22 2,22 0,20 0)),((2 0,2 2,4 2,4 4,2 4,2 10,10 10,10 0,2 0))),MULTIPOLYGON(((20 11,20 21,22 21,22 15,22 13,22 11,20 11)),((2 11,2 13,4 13,4 15,2 15,2 21,10 21,10 11,2 11))))


comment:14 by Regina Obe <lr@…>, 4 years ago

In fdf3262/git:

Normalize cunit output for split and wrapx tests so pass on all versions of GEOS. References #4730 for PostGIS 3.1.0 master

comment:15 by Regina Obe <lr@…>, 4 years ago

In 3ac21e6/git:

Normalize cunit output for split and wrapx tests so pass on all versions of GEOS. References #4730 for PostGIS 3.0.2 stable-3.0

comment:16 by Algunenano, 4 years ago

From a fresh build of 3.9 with overlayng, it fails in makevalid unit tests:

  Test: test_geos_makevalid ...FAILED
    1. cu_geos.c:152  - ASSERT_STRING_EQUAL
        * Expected: GEOMETRYCOLLECTION(POLYGON((92114.014 463463.469,92115.51207431706 463462.206937429,92115.512 463462.207,92127.546 463452.075,92117.173 463439.755,92133.675 463425.942,92122.136 463412.82600000006,92092.377 463437.77,92114.014 463463.469)),MULTIPOINT(92115.51207431706 463462.2069374289,92122.136 463412.826))
        * Obtained: POLYGON((92127.546 463452.075,92117.173 463439.755,92133.675 463425.942,92122.136 463412.826,92092.377 463437.77,92114.014 463463.469,92115.512 463462.207,92115.51207431706 463462.2069374289,92127.546 463452.075))

And from subdivide regress tests:

--- subdivide_expected  2020-10-23 15:17:08.024418827 +0200
+++ /tmp/pgis_reg/test_120_out  2020-10-26 20:27:02.046694188 +0100
@@ -4,7 +4,7 @@
 ERROR:  lwgeom_subdivide_prec: cannot subdivide to fewer than 5 vertices per output
 #3522|POINT(1 1)
 #3744|1600000000000000
-4|29321996468.6|29321996468.6|1857|256
+4|29321996468.6|29321996468.6|1856|256
 #4211|0.00008316000
 #4217|0.00002463668
 #4301|0.00213614552

comment:18 by Regina Obe <lr@…>, 3 years ago

Resolution: fixed
Status: newclosed

In 1fa2405/git:

Force sorting of topology edges so consistent between geos 3.9 and lower geos closes #4730 for PostGIS 3.1.0

Note: See TracTickets for help on using tickets.