ST_Contains rileva due oggetti di geometria e restituisce 1 (TRUE) se il primo oggetto contiene il secondo; altrimenti restituisce 0 (FALSE).
Sintassi
db2gse.ST_Contains(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo di ritorno
Integer
Esempi
Nel seguente esempio sono riportate due tabelle. Una tabella contiene le piantine degli edifici di una città, mentre l'altra tabella contiene i relativi lotti. L'ingegnere desidera assicurarsi che tutte le piantine siano situate correttamente all'interno dei relativi lotti.
In entrambe le tabelle, il tipo di dati multipoligono memorizza la geometria delle piantine degli edifici e dei lotti. Il programma di progettazione del database ha selezionato i multipoligoni per entrambe le funzioni. E' possibile che i lotti risultino separati da condizioni geografiche naturali, ad esempio da un fiume, e le piantine possono essere costituite da più edifici.
CREATE TABLE BUILDINGFOOTPRINTS (building_id integer, lot_id integer, footprint db2gse.ST_MultiPolygon); CREATE TABLE LOTS (lot_id integer, lot db2gse.ST_MultiPolygon);
L'ingegnere seleziona innanzitutto gli edifici non completamente contenuti all'interno di un lotto.
SELECT building_id FROM BUILDINGFOOTPRINTS, LOTS WHERE db2gse.ST_Contains(lot,footprint) = 0;
La prima interrogazione restituirà un elenco di tutti gli ID degli edifici le cui piantine sono situate esternamente al poligono di un lotto. Tuttavia, queste informazioni non indicano se agli altri edifici è stato assegnato l'ID lotto corretto. Quindi la seconda interrogazione esegue un controllo dell'integrità dei dati nella colonna lot_id della tabella 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;
Nella Figura 30, le piantine degli edifici etichettate con i relativi ID si trovano all'interno dei lotti. Il perimetro del lotto viene rappresentato con delle righe tratteggiate. Queste righe si estendono fino al punto centrale della strada e racchiudono completamente i lotti e le piantine degli edifici.
![]() |