Opened 8 years ago

Closed 6 years ago

#3697 closed defect (fixed)

ST_ConcaveHull does not cover original

Reported by: rouen Owned by: pramsey
Priority: high Milestone: PostGIS 2.5.0
Component: postgis Version: 2.3.x
Keywords: ST_ConcaveHull Cc:

Description

I am trying ST_ConcaveHull(geom,0.80) on rather big polygon (~90k points) and the result is clearly wrong - it covers maybe half of the original polygon. See the original polygon https://sygicpublic.blob.core.windows.net/postgis-bug-data/fra_polygon_original_image.PNG vs. original polygon covered with ST_ConcaveHull(geom,0.80) result: https://sygicpublic.blob.core.windows.net/postgis-bug-data/fra_polygon_hull_080_image.PNG

Here are the data (exported as ST_AsText, all srid 4326) https://sygicpublic.blob.core.windows.net/postgis-bug-data/fra_polygon_original https://sygicpublic.blob.core.windows.net/postgis-bug-data/fra_polygon_hull_080

Attachments (3)

fra_polygon_original (3.7 MB ) - added by rouen 8 years ago.
original polygon
fra_polygon_hull_080 (50.4 KB ) - added by rouen 8 years ago.
result of ST_ConcaveHull(geom,0.80)
fra_polygon_hull_080_image.PNG (50.3 KB ) - added by rouen 8 years ago.
result not covering original polygon

Change History (7)

by rouen, 8 years ago

Attachment: fra_polygon_original added

original polygon

by rouen, 8 years ago

Attachment: fra_polygon_hull_080 added

result of ST_ConcaveHull(geom,0.80)

by rouen, 8 years ago

result not covering original polygon

comment:1 by robe, 8 years ago

rouen,

Can you output

SELECT postgis_full_version();

I think this is a duplicate ticket, but I forget if I resolved it or not.

comment:2 by rouen, 8 years ago

POSTGIS="2.3.0 r15146" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.9.2, 08 September 2015" GDAL="GDAL 1.11.3, released 2015/09/16" LIBXML="2.9.3" LIBJSON="0.11.99" TOPOLOGY RASTER

comment:3 by robe, 7 years ago

Milestone: PostGIS 2.4.0PostGIS 2.5.0

comment:4 by komzpa, 6 years ago

Resolution: fixed
Status: newclosed

In 16647:

Make ST_ConcaveHull always cover original geometry.

Merge whatever current implementation generates with input before returinig to user.
Add currently known problematic geometries as test cases for further rewrites.

Closes #3638
Closes #3697

Note: See TracTickets for help on using tickets.