ST_EnvIntersects
Hinweis:
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