ST_EnvIntersects
注意:
ST_Geometry for Oracle のみ
定義
ST_EnvIntersects は、2 つの ST_Geometry のエンベロープが交差する場合は 1(TRUE)を返し、それ以外の場合は 0(FALSE)を返します。
構文
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)
戻り値のタイプ
Integer(ブール値)
例
次の例は、定義済みのポリゴンとエンベロープが交差しているパーセルを検索しています。
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)
);
次の SELECT ステートメントは、2 つのジオメトリのエンベロープおよびジオメトリ自身を比較して、フィーチャまたはエンベロープが交差しているかどうかを確認します。
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
エンベロープを指定して、SELECT ステートメントの WHERE 句で渡したエンベロープ内にあるフィーチャを検出することもできます。
SELECT id
FROM SAMPLE_GEOMS
WHERE sde.st_envintersects(geometry, 5, 5, 60, 65) = 1;
ID
1
2
9/14/2013