ST_CollectionHomogenize — Returnerar den enklaste representationen av en geometrisamling.
geometry ST_CollectionHomogenize(
geometry collection)
;
Ger en geometrisamling och returnerar den "enklaste" representationen av innehållet.
Homogena (enhetliga) samlingar returneras som lämplig multigeometri.
Heterogena (blandade) samlingar plattas ut till en enda GeometryCollection.
Samlingar som innehåller ett enda atomärt element returneras som det elementet.
Atomgeometrier returneras oförändrade. Om så krävs kan dessa konverteras till en multigeometri med hjälp av ST_Multi.
![]() |
|
Denna funktion garanterar inte att resultatet är giltigt. I synnerhet kommer en samling som innehåller intilliggande eller överlappande polygoner att skapa en ogiltig MultiPolygon. Denna situation kan kontrolleras med ST_IsValid och repareras med ST_MakeValid. |
Tillgänglighet: 2.0.0
Samling med ett enda element omvandlad till en atomär geometri
SELECT ST_AsText(ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0))')); st_astext ------------ POINT(0 0)
Nästlad samling av enskilda element konverterad till en atomär geometri:
SELECT ST_AsText(ST_CollectionHomogenize('GEOMETRYCOLLECTION(MULTIPOINT((0 0)))')); st_astext ------------ POINT(0 0)
Samling omvandlad till en multigeometri:
SELECT ST_AsText(ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0),POINT(1 1))')); st_astext --------------------- MULTIPOINT((0 0),(1 1))
Nästlad heterogen samling som plattats ut till en GeometryCollection:
SELECT ST_AsText(ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0), GEOMETRYCOLLECTION( LINESTRING(1 1, 2 2)))')); st_astext --------------------- GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(1 1,2 2))
Samling av polygoner som konverterats till en (ogiltig) MultiPolygon:
SELECT ST_AsText(ST_CollectionHomogenize('GEOMETRYCOLLECTION (POLYGON ((10 50, 50 50, 50 10, 10 10, 10 50)), POLYGON ((90 50, 90 10, 50 10, 50 50, 90 50)))')); st_astext --------------------- MULTIPOLYGON(((10 50,50 50,50 10,10 10,10 50)),((90 50,90 10,50 10,50 50,90 50)))