Opérateur ContainsCentroid

ContainsCentroid est un opérateur spatial qui détermine si un objet est totalement contenu dans une géométrie donnée. ContainsCentroid est l’opérateur inverse de CentroidWithin.

Exemple 1 :

SELECT city FROM table WHERE obj ContainsCentroid <geometry>

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

Si le fournisseur de source de données ne prend pas en charge les ContainsCentroid, la requête est convertie en une EnvelopesIntersect et déléguée au fournisseur de source de données. EnvelopesIntersects renvoie un plus grand ensemble de lignes que ContainsCentroid, mais moins que la table toute entière.

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

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

SELECT city FROM <results from the delegation> WHERE obj ContainsCentroid <geometry>
Exemple 2 :
SELECT city FROM table WHERE <geometry> ContainsCentroid obj

Cet exemple est l'inverse le premier exemple. Il est également équivalente à la CentroidWithin opérateur lorsque les opérandes sont inversés.

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 CentroidWithin et déléguée au fournisseur de source de données.

SELECT city FROM table WHERE obj CentroidWithin <geometry>