st_makeenvelope функция

Область применения:check помечена да Databricks Runtime 18.2 и выше

Important

Эта функция доступна в общедоступной предварительной версии.

GEOMETRY Возвращает значение, представляющее выровненный по оси 2D конверт (минимально ограничивающий прямоугольник), определенный двумя угловых координатами (x1, y1) и (x2, y2).

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

Arguments

  • x1 DOUBLE: значение, представляющее координату X первого угла.
  • y1 DOUBLE: значение, представляющее координату Y первого угла.
  • x2 DOUBLE: значение, представляющее координату X второго угла.
  • y2 DOUBLE: значение, представляющее координату Y второго угла.

Returns

Значение типа GEOMETRY, представляющее выровненный по оси 2D конверт двух входных углов. Значение SRID возвращаемой геометрии равно 0.

Входные угла могут быть предоставлены в любом порядке; Результирующий конверт совпадает с тем же, что и если бы угловы были нормализованы и (xmin, ymin)(xmax, ymax).

Тип возвращаемой геометрии зависит от входных углов:

  • Если поле дегенерирует до одной точки (x1 = x2 и y1 = y2), результатом является точка.
  • Если поле дегенерирует на сегмент (x1 = x2 или y1 = y2, но не оба), результатом является строка с двумя точками.
  • В противном случае результатом является многоугольник с пятью вершинами (закрытым кольцом).

Функция возвращает 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