Operador Intersects

Intersects Es un operador booleano que arroja true si los dos objetos se intersectan en un determinado punto, o si parte del primer objeto está dentro del segundo objeto, o si el primer objeto contiene parte del segundo objeto.

Ejemplo 1:
SELECT city FROM table WHERE obj Intersects <geometry>

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

Si el proveedor de fuente de datos no admite Intersects, se lo reformula como EnvelopesIntersect, que devuelve más registros que una operación Intersects, pero una menor cantidad si se devuelve la tabla entera.

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

Spectrum Spatial ejecuta toda la consulta, usando los resultados del proveedor de fuente de datos:

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

Este ejemplo es lo contrario del primer ejemplo. 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 con los operandos invertidos y se delega al proveedor de fuente de datos. Esto no afecta los resultados, ya que el inverso de Intersects es Intersects.

SELECT city FROM table WHERE obj Intersects <geometry>