ST_CoverageEdges — Computes the unique edges of a polygonal coverage.
geometry ST_CoverageEdges(geometry geom, integer edgetype = 0);
geometry ST_CoverageEdges(geometry[] geoms, integer edgetype = 0);
Returns a MultiLineString representing the unique edges of a polygonal coverage. A polygonal coverage is a set of non-overlapping polygons where adjacent polygons have matching vertices along shared edges.
The edgetype parameter can be used to select which edges are returned:
0 (ALL) - all unique edges (default)
1 (EXTERIOR) - only exterior edges (non-shared)
2 (INTERIOR) - only interior edges (shared)
Availability: 3.7.0
Requires GEOS >= 3.15.0
-- Get all unique edges of a coverage
SELECT ST_AsText(ST_CoverageEdges(ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0, 10 0, 10 10, 0 10, 0 0)), POLYGON((10 0, 20 0, 20 10, 10 10, 10 0)))')));
--------------------------------------
MULTILINESTRING((0 0, 10 0), (10 0, 20 0), (20 0, 20 10), (20 10, 10 10), (10 10, 0 10), (0 10, 0 0), (10 0, 10 10))
-- Get only interior (shared) edges
SELECT ST_AsText(ST_CoverageEdges(ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0, 10 0, 10 10, 0 10, 0 0)), POLYGON((10 0, 20 0, 20 10, 10 10, 10 0)))'), 2));
--------------------------------------
MULTILINESTRING((10 0, 10 10))
ST_CoverageInvalidEdges, ST_CoverageSimplify, ST_CoverageUnion