ST_EnvIntersects

NotaNota:

ST_Geometry solo en Oracle

Definición

ST_EnvIntersects devuelve 1 (verdadero) si intersecan los dos sobres de ST_Geometries; de lo contrario, devuelve 0 (falso).

Sintaxis

sde.st_envintersects (g1 sde.st_geometry, g2 sde.st_geometry)
sde.st_envintersects (g1 sde.st_geometry, minx number, miny number, maxx number, maxy number)

Tipo de devolución

Entero (booleana)

Ejemplo

En este ejemplo se busca una parcela que tiene un sobre intersecado por el polígono definido.

CREATE TABLE sample_geoms (id integer, geometry sde.st_geometry);

INSERT INTO SAMPLE_GEOMS VALUES (
1,
sde.st_geometry ('linestring (10 10, 50 50)', 0)
);

INSERT INTO SAMPLE_GEOMS VALUES (
2,
sde.st_geometry ('linestring (10 20, 50 60)', 0)
);

Esta declaración SELECT compara los sobres de dos geometrías y las propias geometrías para ver si las entidades o los sobres intersecan.

SELECT a.id, b.id, sde.st_intersects (a.geometry, b.geometry) Intersects, sde.st_envintersects (a.geometry, b.geometry) Envelope_Intersects
FROM SAMPLE_GEOMS a, SAMPLE_GEOMS b
WHERE a.id = 1
AND b.id=2; 

ID      ID      INTERSECTS   ENVELOPE_INTERSECTS

1       2       0            1

También puede especificar un sobre para detectar las entidades, si las hubiera, que se encuentran dentro del sobre que transmita con la cláusula WHERE de la declaración SELECT.

SELECT id
FROM SAMPLE_GEOMS
WHERE sde.st_envintersects(geometry, 5, 5, 60, 65) = 1;

ID 

1
2 

7/11/2012