ST_Crosses toma dos objetos geometría y devuelve 1 (TRUE) si su intersección da como resultado un objeto geometría cuya dimensión es un nivel inferior a la dimensión máxima de los objetos fuente. El objeto intersección contiene puntos interiores a ambas geometrías fuente y no es igual a ninguno de los objetos fuente. Si no es así, devuelve 0 (FALSE).
Sintaxis
db2gse.ST_Crosses(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo devuelto
Entero
Ejemplos
El gobierno regional está considerando la posibilidad de sacar una nueva ley según la cual los almacenes de residuos peligrosos de la región no pueden estar a menos de cinco millas de una vía fluvial. El gestor de GIS regional tiene una representación precisa de ríos y corrientes, que se almacenan como varias series lineales en la tabla WATERWAYS. Pero el gestor de GIS sólo tiene una ubicación de un solo punto para cada uno de los almacenes de residuos peligrosos.
CREATE TABLE WATERWAYS (id integer, name varchar(128), water db2gse.ST_MultiLineString); CREATE TABLE HAZARDOUS_SITES ( site_id integer, name varchar(128), location db2gse.ST_Point);
Para determinar si el supervisor regional tiene que avisar a los almacenes que están violando la nueva ley propuesta, el gestor de GIS debe rodear las ubicaciones de sitios peligrosos para ver si algún río o corriente cruza el polígono rodeado. El predicado ST_Crosses compara los sitios de la tabla HAZARDOUS_SITES rodeados con WATERWAYS. De este modo sólo se devuelven los registros en los que la vía fluvial cruza el radio de la región sobre el que se aplica la ley propuesta.
SELECT ww.name "River or stream", hs.name "Hazardous site" FROM WATERWAYS ww, HAZARDOUS_SITES hs WHERE db2gse.ST_Crosses(db2gse.ST_Buffer(hs.location,(5 * 5280)),ww.water) = 1;
En la Figura 31, el área que rodea con un radio de cinco millas los sitios de residuos peligrosos cruza la red de corrientes que fluye por el distrito administrativo de la región. La red de corrientes se ha definido como varias series lineales. De este modo, el conjunto de resultados incluye todos los segmentos de series lineales que forman parte de los segmentos que cruzan el radio.
![]() |