Opérateur Contains

Contains est un opérateur spatial booléen qui détermine si un objet, tel qu'un polygone, contient tous les éléments d'une autre géométrie.

Exemple 1 :

SELECT city FROM table WHERE obj Contains <geometry>

Si le fournisseur de source de données prend en charge Contains, la requête toute entière est déléguée au fournisseur de source de données.

Si le fournisseur de source de données ne prend pas en charge Contains, la requête est convertie en une EnvelopesIntersect et déléguée au fournisseur de source de données. Si les enveloppes ne se croisent pas, ils ne peuvent pas satisfaire une contient opération et la résultat retourne la valeur false.

SELECT city, obj FROM table WHERE obj EnvelopesIntersect <geometry>

Spectrum Spatial évalue Contains en utilisant les résultats à partir du fournisseur de source de données.

SELECT city FROM <results of the delegation> WHERE obj Contains <geometry>
Exemple 2 :
SELECT city FROM table WHERE <geometry> Contains obj

Cet exemple est l'inverse le premier exemple. Il est également l'inverse de la dans opérateur avec opérandes vers l'arrière. Lors de l'écriture, cette requête ne répondent pas à la règles de la clause WHERE, où les opérateurs booléens doivent être sous la forme WHERE <column> operator <geometry>. La requête est rephrased sous forme d'opération Within et déléguée selon les règles pour Within.

SELECT city FROM table WHERE obj Within <geometry>