ArcGIS Server Banner

ST_EnvIntersects

ST_EnvIntersects

Release 9.3 E-mail This TopicPrintable VersionGive Us feedback
Note: This topic was updated for 9.3.1.

NOTE: Spatial type for Oracle only

Definition

ST_EnvIntersects returns 1 (TRUE) if the envelopes of two geometries intersect; otherwise, it returns 0 (FALSE).

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)

Return type

Integer (Boolean)

Example

This example searches for a parcel that has an envelope intersected by the defined polygon.

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

This SELECT statement compares the envelopes of two geometries and the geometries themselves to see if the features or the envelopes intersect.

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

You could also specify an envelope to detect which features, if any, fall inside the envelope you pass in with the WHERE clause of the SELECT statement.

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

ID 

1
2 

See Also

  • An overview of SQL functions used with ST_Geometry types
  • Spatial relationships