ST_EnvIntersects

HinweisHinweis:

ST_Geometry nur in Oracle

Definition

ST_EnvIntersects gibt 1 (true) zurück, wenn sich die Envelopes von zwei "ST_Geometry"-Geometrien schneiden; andernfalls wird 0 (false) zurückgegeben.

Syntax

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)

Rückgabetyp

Integer (Boolesch)

Beispiel

In diesem Beispiel wird nach einem Flurstück mit einem Envelope gesucht, der vom definierten Polygon überschnitten wird.

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)
);

Mit dieser SELECT-Anweisung werden die Envelopes der beiden Geometrien und die Geometrien selbst verglichen, um zu ermitteln, ob sich die Features oder Envelopes überschneiden.

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

Sie können auch einen Envelope angeben, um zu ermitteln, ob Features in dem Envelope liegen, den Sie mit der WHERE-Klausel der SELECT-Anweisung übergeben.

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

ID 

1
2 

7/10/2012