ST_UnaryUnion — Calcule l'union des composantes d'une seule géométrie.
geometry ST_UnaryUnion(
geometry geom, float8 gridSize = -1)
;
Variante à entrée unique de ST_Union. L'entrée peut être une géométrie unique, une MultiGeometry ou une GeometryCollection. L'union est appliquée aux éléments individuels de l'entrée.
Cette fonction peut être utilisée pour corriger les MultiPolygones qui ne sont pas valides en raison du chevauchement de leurs composants. Toutefois, les composants d'entrée doivent tous être valides. Un composant d'entrée non valide, tel qu'un polygone en nœud papillon, peut provoquer une erreur. Pour cette raison, il peut être préférable d'utiliser ST_MakeValid.
Une autre utilisation de cette fonction est de nouer et de dissoudre une collection de lignes qui se croisent ou se chevauchent pour les rendre simple. (ST_Node fait également cela, mais ne fournit pas l'option gridSize
.)
Il est possible de combiner ST_UnaryUnion avec ST_Collect pour affiner le nombre de géométries à unir en une seule fois. Cela permet de faire un compromis entre l'utilisation de la mémoire et le temps de calcul, en trouvant un équilibre entre ST_Union et ST_MemUnion.
Si l'argument optionnel gridSize
est fourni, les entrées sont placées sur une grille de la taille donnée, et les sommets du résultat sont calculés sur cette même grille. (Nécessite GEOS-3.9.0 ou plus)
Cette fonction prend en charge la 3D et ne supprime pas l'indice z. Cependant, le résultat est calculé en utilisant uniquement XY. Les valeurs Z résultantes sont copiées, moyennées ou interpolées.
Amélioration : 3.1.0 accepte un paramètre gridSize.
Nécessite GEOS >= 3.9.0 pour utiliser le paramètre gridSize
Disponibilité : 2.0.0