st_makeenvelope Função

Aplica-se a:check marked yes Databricks SQL check marked yes Databricks Runtime 18.2 and above

Note

Esse recurso não está disponível em databricks SQL Classic warehouses. Para saber mais sobre os sql warehouses do Databricks, consulte os tipos de sql warehouse.

Retorna um GEOMETRY valor que representa o envelope alinhado ao eixo 2D (caixa delimitadora mínima) definido pelas duas coordenadas (x1, y1) de canto e (x2, y2).

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

Arguments

  • x1: um DOUBLE valor, representando a coordenada X do primeiro canto.
  • y1: um DOUBLE valor, representando a coordenada Y do primeiro canto.
  • x2: um DOUBLE valor, representando a coordenada X do segundo canto.
  • y2: um DOUBLE valor, representando a coordenada Y do segundo canto.

Returns

Um valor de tipo GEOMETRY, representando o envelope alinhado ao eixo 2D dos dois cantos de entrada. O SRID da geometria retornada é 0.

Os cantos de entrada podem ser fornecidos em qualquer ordem; o envelope resultante é o mesmo que se os cantos foram normalizados para (xmin, ymin) e (xmax, ymax).

O tipo da geometria retornada depende dos cantos de entrada:

  • Se a caixa degenerar para um único ponto (x1 = x2 e y1 = y2), o resultado será um ponto.
  • Se a caixa degenerar para um segmento (x1 = x2 ou y1 = y2, mas não ambos), o resultado será uma linha com dois pontos.
  • Caso contrário, o resultado será um polígono com cinco vértices (anel fechado).

A função retornará NULL se qualquer uma das entradas for NULL.

Exemplos

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