ST_Contains toma dos objetos de geometría y devuelve 1 (TRUE) si el primer objeto contiene el segundo por completo y 0 (FALSE) si no es así.
Sintaxis
db2gse.ST_Contains(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo devuelto
Entero
Ejemplos
En el ejemplo siguiente se crean dos tablas. Una tabla contiene las áreas edificadas de la ciudad y la otra contiene sus parcelas. El ingeniero municipal desea asegurarse de que todas las áreas edificadas quedan completamente dentro de sus parcelas.
En ambas tablas el tipo de datos varios polígonos almacena la geometría de las áreas edificadas y sus parcelas. El diseñador de la base de datos ha seleccionado varios polígonos para ambas funciones. El diseñador se ha dado cuenta de que las parcelas pueden estar separadas por funciones naturales, como un río, y que las áreas edificadas pueden constar de varios edificios.
CREATE TABLE BUILDINGFOOTPRINTS (building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS ( lot_id integer, lot db2gse.ST_MultiPolygon );
El ingeniero municipal selecciona primero los edificios que no quedan completamente dentro de una parcela.
SELECT building_id FROM BUILDINGFOOTPRINTS, LOTS WHERE db2gse.ST_Contains(lot,footprint) = 0;
El ingeniero municipal se da cuenta de que la primera consulta devolverá una lista de todos los ID de edificios cuyas áreas quedan fuera de un polígono de parcela. Pero el ingeniero municipal también sabe que esta información no indica si los otros edificios tienen asignado el ID de parcela correcto. Esta segunda consulta realiza una comprobación de integridad de los datos de la columna lot_id de la tabla BUILDINGFOOTPRINTS.
SELECT bf.building_id "building id", bf.lot_id "buildings lot_id", LOTS.lot_id "LOTS lot_id" FROM BUILDINGFOOTPRINTS bf, LOTS WHERE db2gse.ST_Contains(lot,footprint) = 1 AND LOTS.lot_id <> bf.lot_id;
En la Figura 30, las áreas edificadas marcadas con sus ID de edificio quedan dentro de sus parcelas. Las líneas de las parcelas se muestran con líneas de puntos. Aunque no se muestre, estas líneas alcanzan la línea central de calles y comprenden por completo las parcelas y las áreas edificadas que contienen.
![]() |