Renvoie un objet Geometry représentant l'intersection des objets Geometry d'entrée.
Syntaxe
geometry ST_Intersection(geometry geomA , geometry geomB);
geography ST_Intersection(geography geogA , geography geogB);
geometry ST_Intersection(geometry set gField);
Paramètres
|
Nom du paramètre |
Description |
|
geomA/geomB |
Les deux objets Geometry cibles. |
|
geogA/geogB |
Les deux objets Geography cibles. |
|
gField |
Le champ Geometry. |
Description
Si les deux objets d'entrée ne s'intersectent pas, la fonction renvoie un objet nul.
Pour les objets Geography, cette fonction encapsule la fonction Geometry. Elle convertit d'abord les objets Geography en objets Geometry, calcule leur intersection dans un système de référence planaire, puis reconvertit le résultat en un objet Geography utilisant le système de coordonnées WGS84.
Cette fonction ne prend pas en charge les objets GeometryCollection en tant que paramètres d'entrée.
Cette fonction ignore les valeurs de coordonnées M des objets.
La fonction d'agrégation intersecte séquentiellement tous les objets Geometry et renvoie l'intersection résultante.
Exemples
-
Appel par défaut :
SELECT ST_AsText(ST_Intersection('POLYGON((0 0,0 2,2 2,2 0,0 0))'::geometry,'POLYGON((0 0,3 0,3 1,0 1,0 0))'::geometry)); st_astext -------------------------------- POLYGON((0 1,2 1,2 0,0 0,0 1)) (1 row) -
Découpage agrégé
create table agg_result(id integer, geom geometry); insert into agg_result values(0, ST_GeomFromText('POLYGON((0 0, 0 0.5, 0.5 0.5, 0.5 0, 0 0))')); insert into agg_result select i, st_buffer('POINT(0 0)', 0.8 + random()*0.1) from generate_series(1,100) as i; select st_astext(st_intersection(geom)) from agg_result; st_astext ---------------------------------------- POLYGON((0 0,0 0.5,0.5 0.5,0.5 0,0 0)) (1 row)