Funkcja st_makeenvelope

Dotyczy:sprawdzanie oznaczone jako tak Databricks Runtime 18.2 lub nowsze

Ważna

Ta funkcja jest dostępna w publicznej wersji testowej.

Zwraca wartość reprezentującą kopertę GEOMETRY wyrównaną do osi 2D (minimalną ramkę ograniczenia) zdefiniowaną przez współrzędne dwóch narożników (x1, y1) i (x2, y2).

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

Argumenty

  • x1 DOUBLE: wartość reprezentująca współrzędną X pierwszego rogu.
  • y1 DOUBLE: wartość reprezentująca współrzędną Y pierwszego rogu.
  • x2 DOUBLE: wartość reprezentująca współrzędną X drugiego rogu.
  • y2 DOUBLE: wartość reprezentująca współrzędną Y drugiego rogu.

Zwroty

Wartość typu GEOMETRY, reprezentująca kopertę osi 2D z dwoma rogami wejściowymi. SriD zwróconej geometrii wynosi 0.

Narożniki wejściowe mogą być podane w dowolnej kolejności; wynikowa koperta jest taka sama jak w przypadku znormalizowania narożników do (xmin, ymin) i (xmax, ymax).

Typ zwróconej geometrii zależy od narożników wejściowych:

  • Jeśli pole degenerates do pojedynczego punktu (x1 = x2 i y1 = y2), wynik jest punktem.
  • Jeśli pole degenerates do segmentu (x1 = x2 lub y1 = y2, ale nie obu), wynik jest linestring z dwoma punktami.
  • W przeciwnym razie wynik jest wielokąt z pięcioma wierzchołkami (zamknięty pierścień).

Funkcja zwraca NULL, jeśli którekolwiek z danych wejściowych jest NULL.

Examples

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