pgr_pointsAsPolygon

pgr_pointsAsPolygon — Draws an alpha shape around given set of points.

Availability

  • Renamed in version 2.0.0
  • Added alpha argument with default 0 (use optimal value) in version 2.1.0
  • Supported to return a (multi)polygon geometry (with holes) in version 2.1.0

Description

Returns the alpha shape as (multi)polygon geometry.

geometry pgr_pointsAsPolygon(text sql [, float8 alpha]);

Parameters

sql:

text a SQL query, which should return a set of rows with the following columns:

SELECT id, x, y FROM vertex_result;
id:int4 identifier of the vertex
x:float8 x-coordinate
y:float8 y-coordinate
alpha:

(optional) float8 alpha value. If specified alpha value equals 0 (default), then optimal alpha value is used. For more information, see CGAL - 2D Alpha Shapes.

Returns a (multi)polygon geometry (with holes).

Additional Examples

In the following query there is no way to control which point in the polygon is the first in the list, so you may get similar but different results than the following which are also correct.

SELECT ST_AsText(pgr_pointsAsPolygon('SELECT id::integer, ST_X(the_geom)::float AS x, ST_Y(the_geom)::float AS y
        FROM edge_table_vertices_pgr'));
                      st_astext
------------------------------------------------------
 POLYGON((2 4,3.5 4,4 3,4 2,4 1,2 0,0 2,0.5 3.5,2 4))
(1 row)

The query use the Sample Data network.

See Also

Indices and tables