In trying to generate concave bounding polygons using PostGIS ConcaveHull, I am seeing what I think is strange behavior.

When running with a 0.99 tolerance, the resulting polygon shrinks tight as would be expected, but it seems to exclude some points/polygons in the input geometry set. I would not expect there to be polygons fully excluded from the resulting hull.

Subsequently, when dropping the tolerance below 0.99, even to just 0.95 or below, the resulting hull includes all points or polygons, but it seems to kind of buffer out - as in the proximity of the hull boundary to many of the input geometries increases dramatically (for example by as much as 500 meters). That extra area breaks my particular use case.

In this image, the points are the input geometries, and the lines represent the concave hull outputs. The lower line is the 0.99 tolerance line, the upper line is a 0.60 tolerance line. In other instances, the 0.99 is well outside of the 0.60, as it is in theory much closer to a convex hull. Here however is an area where some concavity is being enforced, albeit not as expected.

enter image description here

If the 0.99 tolerance included all input geoms, I could use it to then erase the additional area 'buffered out' by the lower tolerance runs possibly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.