Operador ContainsCentroid

ContainsCentroid es un operador espacial que evalúa si un objeto se encuentra totalmente dentro de otra geometría determinada. ContainsCentroid es el operador inverso de CentroidWithin.

Ejemplo 1:

SELECT city FROM table WHERE obj ContainsCentroid <geometry>

Si el proveedor de fuente de datos admite ContainsCentroid, toda la consulta es delegada al proveedor de datos.

Si el proveedor de fuente de datos no admite ContainsCentroid, la consulta es convertida en EnvelopesIntersect y se delega al proveedor de fuente de datos. EnvelopesIntersects devuelve un conjunto más grande de filas que ContainsCentroid, pero esa cantidad es inferior a la devolución de toda la tabla.

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

Spectrum Spatial evalúa a ContainsCentroid, usando los resultados del proveedor de fuente de datos.

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

Este ejemplo es lo contrario del primer ejemplo. También es equivalente al operador CentroidWithin cuando se invierten los operandos.

Como se indicó, esta consulta no cumple con las reglas de la cláusula WHERE, donde los operadores booleanos deben estar en la forma WHERE <column> operator <geometry>. La consulta se reformula como una operación de CentroidWithin y se delega al proveedor de fuente de datos.

SELECT city FROM table WHERE obj CentroidWithin <geometry>