st_makeenvelope 関数

適用対象:はい Databricks SQL チェックが Databricks Runtime 18.2 以降" とマークされているチェック

この機能は、Databricks SQL クラシック ウェアハウスでは使用できません。 Databricks SQL ウェアハウスの詳細については、 SQL ウェアハウスの種類に関するページを参照してください。

GEOMETRY(x1, y1)の 2 つの角座標によって定義された 2D 軸でアラインされたエンベロープ (最小境界ボックス) を表す(x2, y2)値を返します。

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

論争

  • x1: 最初のコーナーの X 座標を表す DOUBLE 値。
  • y1: 最初のコーナーの Y 座標を表す DOUBLE 値。
  • x2: 2 番目のコーナーの X 座標を表す DOUBLE 値。
  • y2: 2 番目のコーナーの Y 座標を表す DOUBLE 値。

返品

GEOMETRY型の値。2 つの入力コーナーの 2D 軸アラインエンベロープを表します。 返されるジオメトリの SRID は 0 です。

入力コーナーは任意の順序で提供することができます。結果のエンベロープは、角が (xmin, ymin) および (xmax, ymax)に正規化された場合と同じです。

返されるジオメトリの種類は、入力コーナーによって異なります。

  • ボックスが単一の点 (x1 = x2 および y1 = y2) に縮退した場合、結果はポイントになります。
  • ボックスがセグメント (x1 = x2 または y1 = y2、両方ではなく) に縮退する場合、結果は 2 つの点を持つラインストリングになります。
  • それ以外の場合、結果は 5 つの頂点 (閉じたリング) を持つ多角形になります。

いずれかの入力がNULLされている場合、関数はNULLを返します。

例示

-- Returns the polygon envelope defined by two corners.
> SELECT st_astext(st_makeenvelope(1.0, 2.0, 4.0, 6.0));
  POLYGON((1 2,1 6,4 6,4 2,1 2))
-- Corners may be provided in any order.
> SELECT st_astext(st_makeenvelope(4.0, 6.0, 1.0, 2.0));
  POLYGON((1 2,1 6,4 6,4 2,1 2))
-- Returns a point when the box degenerates to a point.
> SELECT st_astext(st_makeenvelope(3.0, 5.0, 3.0, 5.0));
  POINT(3 5)
-- Returns a linestring when the box degenerates to a horizontal segment.
> SELECT st_astext(st_makeenvelope(1.0, 0.0, 4.0, 0.0));
  LINESTRING(1 0,4 0)
-- Returns a linestring when the box degenerates to a vertical segment.
> SELECT st_astext(st_makeenvelope(0.0, 2.0, 0.0, 7.0));
  LINESTRING(0 2,0 7)
-- The SRID of the returned geometry is always 0.
> SELECT st_srid(st_makeenvelope(0.0, 0.0, 10.0, 10.0));
  0