ST_Envelope
定義
ST_Envelope は、ST_Geometry オブジェクトの最小範囲ボックスをポリゴンとして返します。
詳細:
この関数は、ST_Envelope がポリゴンを返すことを指定した OGC(Open Geospatial Consortium)のシンプル フィーチャ仕様に準拠しています。ST_Envelope 関数は、ポイント ジオメトリまたは水平線や垂直線といった特殊な場合で機能するように、これらの形状の周囲にあるポリゴンを返します。このポリゴンは、ジオメトリの空間参照系の XY 縮尺係数に基づいて計算される、小さなエンベロープの許容範囲です。この許容範囲は、これらの形状の周囲のポリゴンを返すために、最小 XY 座標から差し引かれ、最大 XY 座標に加算されます。
構文
sde.st_envelope (g1 sde.st_geometry)
戻り値のタイプ
ST_Geometry
例
envelope_test テーブルの geotype 列は、g1 ST_Geometry 列に格納されるジオメトリ サブクラスの名前を格納します。
CREATE TABLE envelope_test (geotype varchar(20), g1 sde.st_geometry);
INSERT ステートメントは、各ジオメトリ サブクラスを envelope_test テーブルに挿入します。
INSERT INTO ENVELOPE_TEST VALUES (
'Point',
sde.st_geometry ('point (-1509734.232 -36684.757)', 102004)
);
INSERT INTO ENVELOPE_TEST VALUES (
'Linestring',
sde.st_geometry ('linestring (-1511144.181 -37680.015, -1509734.232 -38841.149, -1508656.036 -39753.469)', 102004)
);
INSERT INTO ENVELOPE_TEST VALUES (
'Polygon',
sde.st_geometry ('polygon ((-1506333.768 -36435.943, -1504343.252 -36767.695, -1502684.489 -35357.747, -1506333.768 -36435.943))', 102004)
);
INSERT INTO ENVELOPE_TEST VALUES (
'Multipoint',
sde.st_geometry ('multipoint (-1493229.539 -40665.789, -1494141.859 -40831.665, -1495800.622 -42739.242)', 102004)
);
INSERT INTO ENVELOPE_TEST VALUES (
'Multilinestring',
sde.st_geometry ('multilinestring ((-1504757.943 -33201.355, -1507411.964 -35606.561), (-1502518.613 -38094.706, -1499781.653 -37099.448, -1498952.272 -34694.241))', 102004)
);
INSERT INTO ENVELOPE_TEST VALUES (
'Multipolygon',
sde.st_geometry ('multipolygon (((-1492068.405 -47300.841, -1492814.848 -45725.016, -1493975.983 -46471.459,
-1493478.354 -47798.47, -1492068.405 -47300.841), (-1497874.076 -48047.284, -1498537.581 -50618.367, -1497210.571 -50037.8,
-1497874.076 -48047.284)))', 102004)
);
クエリは、サブクラス名とそのエンベロープをリストします。ST_Envelope 関数は、各ジオメトリの周囲にあるポリゴン エンベロープを返します。
Oracle
SELECT geotype geometry_type, sde.st_astext (sde.st_envelope (g1)) envelope
FROM ENVELOPE_TEST;
GEOMETRY_TYPE ENVELOPE
Point |POLYGON (( -1509734.23220000 -36684.75720000, -1509734.23180000 -36684.75720000,
-1509734.23180000 -36684.75680000, -1509734.23220000 -36684.75680000, -1509734.23220000 -36684.75720000))
Linestring |POLYGON (( -1511144.18100000 -39753.46900000, -1508656.03600000 -39753.46900000,
-1508656.03600000 -37680.01500000, -1511144.18100000 -37680.01500000, -1511144.18100000 -39753.46900000))
Polygon |POLYGON (( -1506333.76800000 -36767.69500000, -1502684.48900000 -36767.69500000,
-1502684.48900000 -35357.74700000, -1506333.76800000 -35357.74700000, -1506333.76800000 -36767.69500000))
Multipoint |POLYGON (( -1495800.62200000 -42739.24200000, -1493229.53900000 -42739.24200000,
-1493229.53900000 -40665.78900000, -1495800.62200000 -40665.78900000, -1495800.62200000 -42739.24200000))
Multilinestring |POLYGON (( -1507411.96400000 -38094.70600000, -1498952.27200000 -38094.70600000,
-1498952.27200000 -33201.35500000, -1507411.96400000 -33201.35500000, -1507411.96400000 -38094.70600000))
Multipolygon |POLYGON (( -1498537.58100000 -50618.36700000, -1492068.40500000 -50618.36700000,
-1492068.40500000 -45725.01600000, -1498537.58100000 -45725.01600000, -1498537.58100000 -50618.36700000))
PostgreSQL
SELECT geotype AS geometry_type,
sde.st_astext (sde.st_envelope (g1)) AS Envelope
FROM envelope_test;
geometry_type envelope
"Point" |"POLYGON (( -1509734.23220000 -36684.75720000, -1509734.23180000 -36684.75720000,
-1509734.23180000 -36684.75680000, -1509734.23220000 -36684.75680000, -1509734.23220000 -36684.75720000))"
"Linestring" |"POLYGON (( -1511144.18100000 -39753.46900000, -1508656.03600000 -39753.46900000,
-1508656.03600000 -37680.01500000, -1511144.18100000 -37680.01500000, -1511144.18100000 -39753.46900000))"
"Polygon" |"POLYGON (( -1506333.76800000 -36767.69500000, -1502684.48900000 -36767.69500000,
-1502684.48900000 -35357.74700000, -1506333.76800000 -35357.74700000, -1506333.76800000 -36767.69500000))"
"Multipoint" |"POLYGON (( -1495800.62200000 -42739.24200000, -1493229.53900000 -42739.24200000,
-1493229.53900000 -40665.78900000, -1495800.62200000 -40665.78900000, -1495800.62200000 -42739.24200000))"
"Multilinestring" |"POLYGON (( -1507411.96400000 -38094.70600000, -1498952.27200000 -38094.70600000,
-1498952.27200000 -33201.35500000, -1507411.96400000 -33201.35500000, -1507411.96400000 -38094.70600000))"
"Multipolygon" |"POLYGON (( -1498537.58100000 -50618.36700000, -1492068.40500000 -50618.36700000,
-1492068.40500000 -45725.01600000, -1498537.58100000 -45725.01600000, -1498537.58100000 -50618.36700000))"
9/14/2013