ST_Overlaps utilise deux géométries en entrée. Elle renvoie la valeur 1 (TRUE) si l'intersection de ces objets résulte en une géométrie de la même dimension mais non égale à l'un ou l'autre des objets source ; sinon, elle renvoie la valeur 0 (FALSE).
Syntaxe
db2gse.ST_Overlaps(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Type de retour
Integer
Exemples
L'administrateur du comté a besoin de la liste des sites à risque qui chevauchent des zones sensibles.
L'instruction CREATE TABLE ci-après crée la table SENSITIVE_AREAS. La table SENSITIVE_AREAS contient plusieurs colonnes qui décrivent les établissements menacés, en sus de la colonne ZONE qui stocke la géométrie de type polygone des établissements.
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
La table HAZARDOUS_SITES stocke l'identificateur des sites dans les colonnes SITE_ID et NAME, alors que l'emplacement géographique réel de chaque site est enregistré dans la colonne de type point LOCATION.
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location db2gse.ST_Point);
Dans l'instruction SELECT ci-après, les tables SENSITIVE_AREAS et HAZARDOUS_SITES sont jointes à l'aide de la fonction ST_Overlaps. La fonction renvoie la valeur 1 (TRUE) pour toutes les lignes de la table SENSITIVE_AREAS dont les polygones de surface chevauchent le la zone tampon d'un rayon d'environ 8 km défini autour du point représentant l'emplacement HAZARDOUS_SITES.
SELECT hs.name FROM HAZARDOUS_SITES hs, SENSITIVE_AREAS sa WHERE db2gse.ST_Overlaps (buffer(hs.location,(5 * 5280)),sa.zone) = 1;
Sur la Figure 37, l'hôpital et l'école chevauchent le rayon de deux sites de déchets dangereux du comté, alors que la maison de retraite n'en coupe aucun.