st_makeenvelope-Funktion

Gilt für:check marked yes Databricks Runtime 18.2 und höher

Important

Dieses Feature befindet sich in der Public Preview.

Gibt einen GEOMETRY Wert zurück, der den 2D-Achsenausrichtungsumschlag (Minimale Begrenzungsfeld) darstellt, der durch die beiden Eckkoordinaten (x1, y1) und .(x2, y2)

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

Arguments

  • x1: Ein DOUBLE Wert, der die X-Koordinate der ersten Ecke darstellt.
  • y1: Ein DOUBLE Wert, der die Y-Koordinate der ersten Ecke darstellt.
  • x2: Ein DOUBLE Wert, der die X-Koordinate der zweiten Ecke darstellt.
  • y2: Ein DOUBLE Wert, der die Y-Koordinate der zweiten Ecke darstellt.

Rückkehr

Ein Wert vom Typ GEOMETRY, der den 2D-Achsenausrichtungsumschlag der beiden Eingabeecke darstellt. Die SRID der zurückgegebenen Geometrie ist 0.

Die Eingabeecke können in beliebiger Reihenfolge bereitgestellt werden; Der resultierende Umschlag entspricht dem, wenn die Ecken normalisiert (xmin, ymin) wurden und (xmax, ymax).

Der Typ der zurückgegebenen Geometrie hängt von den Eingabeecke ab:

  • Wenn das Feld zu einem einzelnen Punkt (x1 = x2 und y1 = y2), ist das Ergebnis ein Punkt.
  • Wenn das Feld zu einem Segment (x1 = x2 oder y1 = y2, aber nicht beide) abweicht, ist das Ergebnis eine Linienzeichenfolge mit zwei Punkten.
  • Andernfalls ist das Ergebnis ein Polygon mit fünf Scheitelpunkten (geschlossener Ring).

Die Funktion gibt zurück NULL , wenn eine der Eingaben lautet NULL.

Beispiele

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