Nom

ST_CollectionHomogenize — Renvoie la représentation la plus simple d'une collection de géométries.

Synopsis

geometry ST_CollectionHomogenize(geometry collection);

Description

Pour une collection de géométries spécifiée, renvoie la représentation la plus simple du contenu.

  • Les collections homogènes (uniformes) sont renvoyées sous la forme de la multi-géométrie appropriée.

  • Les collections hétérogènes (mixtes) sont écrasées en une seule GeometryCollection.

  • Les collections contenant un seul élément atomique sont renvoyées sous la forme de cet élément.

  • Les géométries atomiques sont renvoyées telles quelles. Si nécessaire, elles peuvent être converties en une géométrie multiple en utilisant ST_Multi.

[Avertissement]

Cette fonction ne garantit pas la validité du résultat. En particulier, une collection contenant des polygones adjacents ou se chevauchant créera un MultiPolygon invalide. Cette situation peut être vérifiée avec ST_IsValid et réparée avec ST_MakeValid.

Disponibilité : 2.0.0

Exemples

Collection d'un seul élément convertie en géométrie atomique

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0))');
Export de raster
POINT(0 0)
Figure
Geometry figure for visual-st-collectionhomogenize-01

Collection imbriquée d'éléments simples convertie en géométrie atomique :

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION(MULTIPOINT((0 0)))');
Export de raster
POINT(0 0)
Figure
Geometry figure for visual-st-collectionhomogenize-02

Collection convertie en une géométrie multiple :

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0), POINT(1 1))');
Export de raster
MULTIPOINT((0 0),(1 1))
Figure
Geometry figure for visual-st-collectionhomogenize-03

Collection hétérogène imbriquée écrasée en une GeometryCollection :

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0), GEOMETRYCOLLECTION( LINESTRING(1 1,2 2)))');
Export de raster
GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1,2 2))
Figure
Geometry figure for visual-st-collectionhomogenize-04

Collection de polygones convertis en un MultiPolygon (non valide) :

Code
SELECT 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)))');
Export de raster
MULTIPOLYGON(((10 50,50 50,50 10,10 10,10 50)),((90 50,90 10,50 10,50 50,90 50)))
Figure
Geometry figure for visual-st-collectionhomogenize-05