fungsi st_makeenvelope

Berlaku untuk:check ditandai ya pemeriksaan Databricks SQL ditandai ya Databricks Runtime 18.2 ke atas

Note

Fitur ini tidak tersedia di gudang Databricks SQL Classic. Untuk mempelajari selengkapnya tentang gudang Databricks SQL, lihat Jenis gudang SQL.

Mengembalikan nilai yang mewakili amplop rata sumbu 2D (kotak pembatas minimum) yang GEOMETRY ditentukan oleh dua koordinat (x1, y1) sudut dan (x2, y2).

Syntax

st_makeenvelope ( x1, y1, x2, y2 )

Argumen

  • x1: Nilai DOUBLE , mewakili koordinat X dari sudut pertama.
  • y1: Nilai DOUBLE , yang mewakili koordinat Y dari sudut pertama.
  • x2: Nilai DOUBLE , mewakili koordinat X dari sudut kedua.
  • y2: Nilai DOUBLE , yang mewakili koordinat Y dari sudut kedua.

Returns

Nilai jenis GEOMETRY, mewakili amplop selaras sumbu 2D dari dua sudut input. SRID geometri yang dikembalikan adalah 0.

Sudut input dapat disediakan dalam urutan apa pun; amplop yang dihasilkan sama seperti jika sudut dinormalisasi ke (xmin, ymin) dan (xmax, ymax).

Jenis geometri yang dikembalikan tergantung pada sudut input:

  • Jika kotak berdegenerasi ke satu titik (x1 = x2 dan y1 = y2), hasilnya adalah titik.
  • Jika kotak berdegenerasi ke segmen (x1 = x2 atau y1 = y2, tetapi tidak keduanya), hasilnya adalah linestring dengan dua poin.
  • Jika tidak, hasilnya adalah poligon dengan lima simpul (cincin tertutup).

Fungsi mengembalikan NULL jika salah satu input adalah NULL.

Examples

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