Opérateur Within

Within 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 Within <geometry>

Si la source de données prend en charge du fournisseur dans, 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 à l'intérieur, la requête est convertie en une EnvelopesIntersect et délégués comme suit :

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

Spectrum Spatial évalue dans les résultats du fournisseur de source de données :

SELECT city FROM <results of the delegation> WHERE obj Within <geometry>

Exemple 2 :

SELECT city FROM table WHERE <geometry> Within obj

Cet exemple est l'inverse le premier exemple. Il s'agit de l'inverse de la contient 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 Contains et déléguée selon les règles dans la zone contient.

SELECT city FROM table WHERE obj Contains <geometry>