ST_BuildArea — Creates a polygonal geometry formed by the linework of a geometry.
geometry ST_BuildArea(
geometry geom)
;
Creates an areal geometry formed by the constituent linework of the input geometry. The input can be LINESTRINGS, MULTILINESTRINGS, POLYGONS, MULTIPOLYGONS, and GeometryCollections. The result is a Polygon or MultiPolygon, depending on input. If the input linework does not form polygons, NULL is returned.
This function assumes all inner geometries represent holes
![]() | |
Input linework must be correctly noded for this function to work properly |
Availability: 1.1.0
![]() These will create a donut
--using polygons SELECT ST_BuildArea(ST_Collect(smallc,bigc)) FROM (SELECT ST_Buffer( ST_GeomFromText('POINT(100 90)'), 25) As smallc, ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50) As bigc) As foo;
--using linestrings SELECT ST_BuildArea(ST_Collect(smallc,bigc)) FROM (SELECT ST_ExteriorRing(ST_Buffer( ST_GeomFromText('POINT(100 90)'), 25)) As smallc, ST_ExteriorRing(ST_Buffer(ST_GeomFromText('POINT(100 90)'), 50)) As bigc) As foo;
|
ST_Node, ST_MakePolygon, ST_MakeValid, ST_BdPolyFromText, ST_BdMPolyFromText (wrappers to this function with standard OGC interface)