[postgis-users] ST_ConcaveHull giving up too soon, aka too convex

Ivan Price Ivan.Price at noveltis.fr
Tue Jan 14 05:36:05 PST 2014


Thanks for your reply Remi,

for now we are going with simply a union of a buffer of the points (as you suggested) as it makes sense in the context of the origin of the data anyway.

cheers

-i


De : postgis-users-bounces at lists.osgeo.org [mailto:postgis-users-bounces at lists.osgeo.org] De la part de Rémi Cura
Envoyé : Tuesday, 14 January 2014 11:39
À : PostGIS Users Discussion
Objet : Re: [postgis-users] ST_ConcaveHull giving up too soon, aka too convex

Hey,
sadly I can't answer your questions,
but it looks like you don't want concave hull but instead Alpha Shape (see SFCGAL , maybe they have integrated it).

You have still a lot of workaround :
if you don't mind expending the bouyndary, a union of buffers of points
if you don't mind quantization (anyway your input looks quantized) : convert to raster, then any classical image processing easily available (watershed for example) (you can use out of the box QGIS 2.0 raster processing tools)
if you want a sharp boudary : and assuming your points are regularly spaced : maybe something liek this (untested)
create a segment for each point to his K nearest neighbours (K would be 2 or 3, and you would put a max distance before drawing a line)
Then pick the segments that have no  intersection with other segments, and either use ST_Polygonyze, or cut the bounding box polygon with the segments and remove the part outside
.
Maybe you can try to reduce your point precision for processing (snap to grid) and/or put the points in an appropriate srid (not too much digits)

Cheers,

Rémi-C

2014/1/14 Ivan Price <Ivan.Price at noveltis.fr<mailto:Ivan.Price at noveltis.fr>>

Hi there,

I am experimenting with ST_ConcaveHull, am using Postgres 9.2.2 on windows with postgis 2.1.1 r12113

i have a table of 218 points forming roughly an arc (something like the nike swoosh)

when i ask for the concave hull i'm expecting a poly shrink-wrapped to them, however this is not the case, even when i set a very low percentage area parameter. for example:

SELECT ST_ConcaveHull(ST_Collect(geom), 0.000001) as geom FROM points;

i attach a screenshot of the points and the convext hull, as well as an sql dump of the points themselves.

also as a side note, in researching the problem i upgraded from postgis 2.01 to 2.1.1 and noticed a change in the processing time for the above statement from 1 minute to ~ 5 minutes.

are there any pointers for making ConcaveHull more 'aggressive' ?

thanks and regards

-i


_______________________________________________
postgis-users mailing list
postgis-users at lists.osgeo.org<mailto:postgis-users at lists.osgeo.org>
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20140114/a2cda06e/attachment.html>


More information about the postgis-users mailing list