st_makeenvelope Funkce

Platí pro:check marked yes Databricks SQL check marked yes Databricks Runtime 18.2 and above

Note

Tato funkce není k dispozici ve skladech Databricks SQL Classic. Další informace o službě Databricks SQL Warehouse najdete v tématu Typy SQL Warehouse.

Vrátí hodnotu představující obálku GEOMETRY zarovnanou osou 2D (minimální ohraničující rámeček) definovanou dvěma rohovými souřadnicemi (x1, y1) a (x2, y2).

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

Argumenty

  • x1: Hodnota DOUBLE představující souřadnici X prvního rohu.
  • y1 DOUBLE: Hodnota představující souřadnici Y prvního rohu.
  • x2 DOUBLE: Hodnota představující souřadnici X druhého rohu.
  • y2 DOUBLE: Hodnota představující souřadnici Y druhého rohu.

Returns

Hodnota typu GEOMETRYpředstavující obálku zarovnanou osou 2D dvou vstupních rohů. SRID vrácené geometrie je 0.

Vstupní rohy mohou být poskytovány v libovolném pořadí; výsledná obálka je stejná, jako kdyby byly rohy normalizovány do (xmin, ymin) a (xmax, ymax).

Typ vrácené geometrie závisí na vstupních rozích:

  • Pokud se pole degeneruje na jeden bod (x1 = x2 a y1 = y2), výsledek je bod.
  • Pokud se pole degeneruje na segment (x1 = x2 nebo y1 = y2, ale ne oba), výsledek je přímka se dvěma body.
  • V opačném případě je výsledkem mnohoúhelník s pěti vrcholy (uzavřený prstenec).

Funkce vrátí NULL , pokud je některý ze vstupů NULL.

Příklady

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