[postgis-users] Concave hull problem & delaunay triangulation - help needed please

pcreso at pcreso.com pcreso at pcreso.com
Fri Aug 31 20:42:29 PDT 2012


I'm trying to come up with an approach using Postgis to come up with a polygon representing the outer bounds of a set of points, ie: a polygon passing through all the outer points.

Much useful info (as usual - thanks guys!!) at spatialdbadvisor & bostongis but my limited understanding is stalling progress for now.

I came across the ST_Concavehull() function, which fails. Indeed, I was surprised to see this actually expands the polygon extent representing the point set, as shown at:
http://www.bostongis.com/postgis_concavehull.snippet as this buffers the points in some cases, and often gives quite unexpected (to me anyway) results. 

Looking for something that fits better, using existing capabilities, I figured I could pretty easily use Delaunay triangulation to create the outer hull, then realised this bridges every second outer point (pretty much by definition). That's easy, just remove any triangles from the polygon where they share a line segment with the polygon. I like Postgis!!

I have Simon's code working fine, at least using his example invocation, from:

But I can't figure out how to make it work with my point data. I don't know R or PL/R well enough to adapt it.

I have a set of sample points in a table:

  Column |      Type       |                                   
  id     | integer         | not null default
  geom   | geometry(Point) | 

Can anyone explain, ideally in words of one syllable or less, how Simon's function from the link above needs to be adapted to read my points dataset as input?

Once I get the triangles as an output set I can use Postgis for the rest...


   Brent Wood

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

More information about the postgis-users mailing list