ST_Intersection
ST_Intersection devuelve una geometría que representa la intersección de conjuntos de puntos entre dos geometrías. Es decir, se devuelve la parte de las dos geometrías de entrada que se comparte entre ellas.
Sintaxis
ST_Intersection(geom1, geom2)
Argumentos
- geom1
-
Un valor de tipo de datos
GEOMETRY
o una expresión que toma el valor de un tipoGEOMETRY
. - geom2
-
Un valor de tipo de datos
GEOMETRY
o una expresión que toma el valor de un tipoGEOMETRY
.
Tipo de retorno
GEOMETRY
Si geom1 y geom2 no comparten ningún espacio (son discontinuos), se devuelve una geometría vacía.
Si geom1 o geom2 están vacíos, se devuelve una geometría vacía.
Si geom1 y geom2 no tienen el mismo valor en el identificador de sistema de referencia espacial (SRID), se devuelve un error.
Si geom1 o geom2 son una colección geométrica, se devuelve un error.
Si geom1 o geom2 no es una geometría bidimensional (2D), entonces se devuelve un error.
Ejemplos
El siguiente SQL devuelve la geometría que no está vacía y representa la intersección entre dos geometrías de entrada.
SELECT ST_AsEWKT(ST_Intersection(ST_GeomFromText('polygon((0 0,100 100,0 200,0 0))'), ST_GeomFromText('polygon((0 0,10 0,0 10,0 0))')));
st_asewkt
-------------------------
POLYGON((0 0,0 10,5 5,0 0))
El siguiente SQL devuelve una geometría vacía cuando se introducen geometrías de entrada discontinuas (sin intersección).
SELECT ST_AsEWKT(ST_Intersection(ST_GeomFromText('linestring(0 100,0 0)'), ST_GeomFromText('polygon((1 0,10 0,1 10,1 0))')));
st_asewkt
------------------
LINESTRING EMPTY