Operador CentroidWithin

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

Ejemplo 1:

SELECT city FROM table WHERE obj CentroidWithin <geometry>

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

Si el proveedor de fuente de datos no admite CentroidWithin, la consulta se convierte en EnvelopesIntersect y se delega como se indica a continuación:

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

Spectrum Spatial evalúa a CentroidWithin, usando los resultados del proveedor de fuente de datos:

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

Este ejemplo es lo contrario del Ejemplo 1. También es equivalente al operador ContainsCentroid cuando se invierten los operandos.

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

SELECT city FROM table WHERE obj ContainsCentroid <geometry>