st_makeenvelope Fonction

S’applique à :check marqué oui Databricks Runtime 18.2 et versions ultérieures

Important

Cette fonctionnalité est disponible en préversion publique.

Retourne une GEOMETRY valeur représentant l’enveloppe alignée sur l’axe 2D (cadre englobant minimal) définie par les deux coordonnées (x1, y1) d’angle et (x2, y2).

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

Arguments

  • x1: valeur DOUBLE représentant la coordonnée X du premier angle.
  • y1: valeur DOUBLE représentant la coordonnée Y du premier angle.
  • x2: valeur DOUBLE représentant la coordonnée X du deuxième angle.
  • y2: valeur DOUBLE représentant la coordonnée Y du deuxième angle.

Returns

Valeur de type GEOMETRY, représentant l’enveloppe alignée sur l’axe 2D des deux angles d’entrée. Le SRID de la géométrie retournée est 0.

Les angles d’entrée peuvent être fournis dans n’importe quel ordre ; l’enveloppe résultante est la même que si les coins ont été normalisés et (xmin, ymin)(xmax, ymax).

Le type de la géométrie retournée dépend des angles d’entrée :

  • Si la zone se dégénère à un seul point (x1 = x2 et y1 = y2), le résultat est un point.
  • Si la zone dégénère en segment (x1 = x2 ou, mais y1 = y2pas les deux), le résultat est une chaîne de ligne avec deux points.
  • Sinon, le résultat est un polygone avec cinq sommets (anneau fermé).

La fonction retourne NULL si l’une des entrées est NULL.

Exemples

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