st_makeenvelope Função

Aplica-se a:assinalado Databricks SQL assinalado sim Databricks Runtime 18.2 e superiores

Note

Esse recurso não está disponível nos armazéns Databricks SQL Classic. Para saber mais sobre os armazéns SQL do Databricks, consulte Tipos de armazém SQL.

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

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

Arguments

  • x1: Um DOUBLE valor que representa 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.

Devoluções

Um valor do tipo GEOMETRY, representando o envelope alinhado com eixos 2D dos dois cantos de entrada. O SRID da geometria devolvida é 0.

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

O tipo da geometria devolvida depende dos cantos de entrada:

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

A função retorna 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