- Catégories :
ST_UNION¶
En tenant compte de deux objets GEOGRAPHY en entrée, renvoie un objet GEOGRAPHY qui représente l’ensemble combiné des formes des deux objets (c’est-à-dire l’union des deux formes).
- Voir aussi :
ST_UNION_AGG , ST_INTERSECTION , ST_DIFFERENCE , ST_SYMDIFFERENCE
Syntaxe¶
ST_UNION( <geography_expression_1> , <geography_expression_2> )
Arguments¶
geography_expression_1
Un objet GEOGRAPHY.
geography_expression_2
Un objet GEOGRAPHY.
Renvoie¶
La fonction renvoie une valeur de type GEOGRAPHY.
Notes sur l’utilisation¶
Si un sommet d’un objet d’entrée se trouve sur la limite de l’autre objet d’entrée (à l’exclusion des sommets), certains points de l’union peuvent être représentés plus d’une fois dans la sortie,
Par exemple, dans l’instruction suivante :
SELECT ST_UNION( TO_GEOGRAPHY('POINT(1 1)'), TO_GEOGRAPHY('LINESTRING(1 0, 1 2)') );
POINT(1 1)
est sur la limite deLINESTRING(1 0, 1 2)
mais n’est pas un sommet de celle-ci.Dans cet exemple, il n’est pas garanti que ST_UNION produise une sortie minimale. La sortie attendue devrait être la chaîne de lignes d’entrée :
LINESTRING(1 0, 1 2)
Mais le résultat réel pourrait être :
GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(1 0,1 1,1 2))
où
POINT (1,1)
est représenté deux fois dans la sortie : une fois comme le point lui-même et une fois comme un point dans la LineString.
Exemples¶
L’exemple suivant renvoie un objet GEOGRAPHY qui représente l’union de deux objets GEOGRAPHY d’entrée :
ALTER SESSION SET GEOGRAPHY_OUTPUT_FORMAT = 'WKT'; SELECT ST_UNION( TO_GEOGRAPHY('POLYGON((0 0, 1 0, 2 1, 1 2, 2 3, 1 4, 0 4, 0 0))'), TO_GEOGRAPHY('POLYGON((3 0, 3 4, 2 4, 1 3, 2 2, 1 1, 2 0, 3 0))') ) AS union_of_objects;
Cet exemple produit le résultat suivant :
+-------------------------------------------------------------------------------------------------------------------------------------------+ | UNION_OF_OBJECTS | |-------------------------------------------------------------------------------------------------------------------------------------------| | POLYGON((3 0,3 4,2 4,1.5 3.500399839,1 4,0 4,0 0,1 0,1.5 0.5000571198,2 0,3 0),(1.5 1.500171359,1 2,1.5 2.500285599,2 2,1.5 1.500171359)) | +-------------------------------------------------------------------------------------------------------------------------------------------+
Les images suivantes illustrent les différences dans les zones qui représentent les objets d’entrée et de sortie :
Entrée |
Sortie |
---|---|