Opened 2 years ago
Closed 2 years ago
#5220 closed defect (fixed)
GEOS 3.11 doesn't regress cleanly on 3.1 and 3.0
Reported by: | robe | Owned by: | robe |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 3.0.8 |
Component: | postgis | Version: | 3.1.x |
Keywords: | Cc: |
Description
On 3.1.7 I get this:
PostgreSQL 12.12, compiled by Visual C++ build 1914, 64-bit Postgis 3.1.7 - (3.1.6-31-gdfcc4326f) - 2022-08-18 06:05:19 scripts 3.1.7 3.1.6-31-gdfcc4326f raster scripts 3.1.7 3.1.6-31-gdfcc4326f GEOS: 3.11.0-CAPI-1.17.0 PROJ: 7.2.1 SFCGAL: 1.4.1 GDAL: GDAL 3.4.3, released 2022/04/22 ./regress/core/regress_buffer_params .. failed (diff expected obtained: /projects/postgis/tmp/3.1.7_pg12_geos3.9_gdal3.4.3w64/test_40_diff) ----------------------------------------------------------------------------- --- ./regress/core/regress_buffer_params_expected 2022-08-18 00:58:29.359784500 -0400 +++ /projects/postgis/tmp/3.1.7_pg12_geos3.9_gdal3.4.3w64/test_40_out 2022-08-18 02:11:28.583934100 -0400 @@ -3,13 +3,13 @@ line quadsegs=2 endcap=flat|POLYGON((10 2,10 -2,0 -2,0 2,10 2)) line quadsegs=2 endcap=butt|POLYGON((10 2,10 -2,0 -2,0 2,10 2)) line quadsegs=2 endcap=square|POLYGON((10 2,12 2,12 -2,0 -2,-2 -2,-2 2,10 2)) -line join=mitre mitre_limit=1.0 side=both|POLYGON((148.12357 161.60116,159.5301 156.87643,160 50,159.80785 48.0491,159.2388 46.17317,158.3147 44.4443,157.07107 42.92893,155.5557 41.6853,153.82683 40.7612,151.9509 40.19215,150 40,148.0491 40.19215,146.17317 40.7612,144.4443 41.6853,142.92893 42.92893,141.6853 44.4443,140.7612 46.17317,140.19215 48.0491,140 50,140 125.85786,57.07107 42.92893,55.5557 41.6853,53.82683 40.7612,51.9509 40.19215,50 40,48.0491 40.19215,46.17317 40.7612,44.4443 41.6853,42.92893 42.92893,41.6853 44.4443,40.7612 46.17317,40.19215 48.0491,40 50,40.19215 51.9509,40.7612 53.82683,41.6853 55.5557,42.92893 57.07107,148.12357 161.60116)) +line join=mitre mitre_limit=1.0 side=both|POLYGON((147.65367 161.7958,160 156.68179,160 50,159.80785 48.0491,159.2388 46.17317,158.3147 44.4443,157.07107 42.92893,155.5557 41.6853,153.82683 40.7612,151.9509 40.19215,150 40,148.0491 40.19215,146.17317 40.7612,144.4443 41.6853,142.92893 42.92893,141.6853 44.4443,140.7612 46.17317,140.19215 48.0491,140 50,140 125.85786,57.07107 42.92893,55.5557 41.6853,53.82683 40.7612,51.9509 40.19215,50 40,48.0491 40.19215,46.17317 40.7612,44.4443 41.6853,42.92893 42.92893,41.6853 44.4443,40.7612 46.17317,40.19215 48.0491,40 50,40.19215 51.9509,40.7612 53.82683,41.6853 55.5557,42.92893 57.07107,147.65367 161.7958)) line side=left|POLYGON((150 50,150 150,50 50,42.92893 57.07107,142.92893 157.07107,144.4443 158.3147,146.17317 159.2388,148.0491 159.80785,150 160,151.9509 159.80785,153.82683 159.2388,155.5557 158.3147,157.07107 157.07107,158.3147 155.5557,159.2388 153.82683,159.80785 151.9509,160 150,160 50,150 50)) line side=right|POLYGON((50 50,150 150,150 50,140 50,140 125.85786,57.07107 42.92893,50 50)) line side=left join=mitre|POLYGON((150 50,150 150,50 50,42.92893 57.07107,160 174.14214,160 50,150 50)) poly quadsegs=2 join=round|POLYGON((-2 0,-2 10,-1.41421 11.41421,0 12,10 12,11.41421 11.41421,12 10,12 0,11.41421 -1.41421,10 -2,0 -2,-1.41421 -1.41421,-2 0)) poly quadsegs=2 join=bevel|POLYGON((-2 0,-2 10,0 12,10 12,12 10,12 0,10 -2,0 -2,-2 0)) poly quadsegs=2 join=mitre|POLYGON((-2 -2,-2 12,12 12,12 -2,-2 -2)) -poly quadsegs=2 join=mitre mitre_limit=1|POLYGON((-1.82843 -1,-1.82843 11,-1 11.82843,11 11.82843,11.82843 11,11.82843 -1,11 -1.82843,-1 -1.82843,-1.82843 -1)) -poly quadsegs=2 join=miter miter_limit=1|POLYGON((-1.82843 -1,-1.82843 11,-1 11.82843,11 11.82843,11.82843 11,11.82843 -1,11 -1.82843,-1 -1.82843,-1.82843 -1)) +poly quadsegs=2 join=mitre mitre_limit=1|POLYGON((-2 -0.82843,-2 10.82843,-0.82843 12,10.82843 12,12 10.82843,12 -0.82843,10.82843 -2,-0.82843 -2,-2 -0.82843)) +poly quadsegs=2 join=miter miter_limit=1|POLYGON((-2 -0.82843,-2 10.82843,-0.82843 12,10.82843 12,12 10.82843,12 -0.82843,10.82843 -2,-0.82843 -2,-2 -0.82843)) poly boundary rhr side=left|POLYGON((20 20,10 20,10 50,50 50,50 10,20 10,20 20),(20 20,40 20,40 40,20 40,20 20)) ----------------------------------------------------------------------------- ./regress/core/offsetcurve .. failed (diff expected obtained: /projects/postgis/tmp/3.1.7_pg12_geos3.9_gdal3.4.3w64/test_81_diff) ----------------------------------------------------------------------------- --- ./regress/core/offsetcurve_expected 2022-08-17 23:03:19.179980400 -0400 +++ /projects/postgis/tmp/3.1.7_pg12_geos3.9_gdal3.4.3w64/test_81_out 2022-08-18 02:12:19.092764900 -0400 @@ -1,20 +1,20 @@ ERROR: lwgeom_offsetcurve: input is not linear t0|SRID=42;LINESTRING(0 0,10 0) t1|SRID=42;LINESTRING(0 10,10 10) -t2|SRID=42;LINESTRING(10 -10,0 -10) +t2|SRID=42;LINESTRING(0 -10,10 -10) t3|SRID=42;LINESTRING(10 -10,0 -10) -t4|SRID=42;LINESTRING(0 10,10 10) -t5|SRID=42;LINESTRING(20 10,20 0,20 -2,19 -4,18 -6,17 -7,16 -8,14 -9,12 -10,10 -10,0 -10) +t4|SRID=42;LINESTRING(10 10,0 10) +t5|SRID=42;LINESTRING(0 -10,10 -10,12 -10,14 -9,16 -8,17 -7,18 -6,19 -4,20 -2,20 0,20 10) t5b|SRID=42;LINESTRING EMPTY -t6|SRID=42;LINESTRING(20 10,20 0,17 -7,10 -10,0 -10) -t7|SRID=42;LINESTRING(20 10,20 0,10 -10,0 -10) -t8|SRID=42;LINESTRING(20 10,20 -10,0 -10) -t9|SRID=42;LINESTRING(14 14,21 -1,16 -9,0 -10) +t6|SRID=42;LINESTRING(0 -10,10 -10,17 -7,20 0,20 10) +t7|SRID=42;LINESTRING(0 -10,10 -10,20 0,20 10) +t8|SRID=42;LINESTRING(0 -10,20 -10,20 10) +t9|SRID=42;LINESTRING(0 -2,0 -10,16 -10,21 -1,14 14,5 10) t10|SRID=42;LINESTRING(0 2,7 2,3 9) t10b|SRID=42;LINESTRING(0 2,7 2,3 9) t11|LINESTRING(37.6 39.2,39.2 36.6,42 35.8,43 34.8,46.4 33.6,48.2 30,48.8 30,50.6 33.8,56.6 35) -t12|LINESTRING(57.4 31,53.4 30.2,51.2 26,45.8 26,43.6 30.4,41 31.2,40 32.2,36.8 33.4,34.4 36.8) +t12|LINESTRING(34.4 36.8,36.8 33.4,40 32.2,41 31.2,43.6 30.4,45.8 26,51.2 26,53.4 30.2,57.4 31) t13|LINESTRING(-2 0,-2 22,12 22,12 8,2 8) -t14|MULTILINESTRING((2 12,8 12,8 18,2 18,2 12),(2 8,2 0)) -t15|MULTILINESTRING((2 12,8 12,8 18,2 18,2 12),(2 8,2 0),(4 12,10 12,10 18,4 18,4 12),(4 8,4 0),(5 12,11 12,11 18,5 18,5 12),(5 8,5 0)) +t14|LINESTRING(2 0,2 8) +t15|MULTILINESTRING((2 0,2 8),(4 0,4 8),(5 0,5 8)) #2508|t
Change History (5)
comment:1 by , 2 years ago
Milestone: | PostGIS 3.1.7 → PostGIS 3.0.8 |
---|---|
Version: | 3.2.x → 3.1.x |
comment:2 by , 2 years ago
Owner: | changed from | to
---|
comment:3 by , 2 years ago
Looks like it's 99% ordering and one behaviour change in offset curve that should be probably just be removed. Offset curve definitely got re-imagined for some of the odder input cases.
Note:
See TracTickets
for help on using tickets.
I'm not going to bother fixing this in this go round