Devuelve un objeto Geometry que representa la intersección de los objetos Geometry de entrada.
Sintaxis
geometry ST_Intersection(geometry geomA , geometry geomB);
geography ST_Intersection(geography geogA , geography geogB);
geometry ST_Intersection(geometry set gField);
Parámetros
|
Nombre del parámetro |
Descripción |
|
geomA/geomB |
Los dos objetos Geometry de destino. |
|
geogA/geogB |
Los dos objetos Geography de destino. |
|
gField |
El campo Geometry. |
Descripción
Si los dos objetos de entrada no se intersecan, la función devuelve un objeto nulo.
Para los objetos Geography, esta función envuelve a la función Geometry. Primero transforma los objetos Geography en objetos Geometry y busca su intersección en un sistema de referencia plano. Después, convierte el resultado nuevamente en un objeto Geography que utiliza el sistema de coordenadas WGS84.
Esta función no admite objetos GeometryCollection como parámetros de entrada.
Esta función descarta los valores de la coordenada M de los objetos.
La función de agregación interseca de forma secuencial todos los objetos Geometry y devuelve la intersección resultante.
Ejemplos
-
Llamada predeterminada:
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) -
Recorte de agregación
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)