st_makeenvelope

Şunun için geçerlidir:evet olarak işaretlendi Databricks Runtime 18.2 ve üzerini denetleyin

ve iki köşe koordinatı (x1, y1)tarafından tanımlanan 2B eksene hizalanmış zarfı (minimum sınırlayıcı kutu) temsil eden bir (x2, y2) döndürür.

İlgili Databricks SQL fonksiyonu için bakınız st_makeenvelope fonksiyonu.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.st_makeenvelope(x1=<x1>, y1=<y1>, x2=<x2>, y2=<y2>)

Parameters

Parametre Türü Description
x1 pyspark.sql.Column veya kayan İlk köşenin X koordinatı.
y1 pyspark.sql.Column veya kayan İlk köşenin Y koordinatı.
x2 pyspark.sql.Column veya kayan İkinci köşenin X koordinatı.
y2 pyspark.sql.Column veya kayan İkinci köşenin Y koordinatı.

İadeler

pyspark.sql.Column: İki giriş köşesinin 2B eksene hizalanmış zarfını temsil eden Geometri değerleri sütunu. Döndürülen geometrinin SRID değeri 0'dır.

Giriş köşeleri herhangi bir sırada sağlanabilir; elde edilen zarf, köşelerin ve (xmin, ymin)olarak normalleştirilmiş (xmax, ymax) olmasıyla aynıdır.

Döndürülen geometrinin türü giriş köşelerine bağlıdır:

  • Kutu tek bir noktaya (x1 = x2 ve y1 = y2) kadar dejenere olursa sonuç bir noktadır.
  • Kutu bir kesime (x1 = x2 veya y1 = y2her ikisine de değil) dejenere olursa, sonuç iki nokta içeren bir çizgi dizesidir.
  • Aksi takdirde, sonuç beş köşeli (kapalı halka) bir çokgendir.

Eğer girişlerden herhangi biri None ise, işlev None döndürür.

Examples

# Returns the polygon envelope defined by two corners.
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1.0, 2.0, 4.0, 6.0)], ['x1', 'y1', 'x2', 'y2'])
df.select(dbf.st_astext(dbf.st_makeenvelope('x1', 'y1', 'x2', 'y2')).alias('result')).collect()
[Row(result='POLYGON((1 2,1 6,4 6,4 2,1 2))')]
# Corners may be provided in any order.
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(4.0, 6.0, 1.0, 2.0)], ['x1', 'y1', 'x2', 'y2'])
df.select(dbf.st_astext(dbf.st_makeenvelope('x1', 'y1', 'x2', 'y2')).alias('result')).collect()
[Row(result='POLYGON((1 2,1 6,4 6,4 2,1 2))')]
# Returns a point when the box degenerates to a point.
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(3.0, 5.0, 3.0, 5.0)], ['x1', 'y1', 'x2', 'y2'])
df.select(dbf.st_astext(dbf.st_makeenvelope('x1', 'y1', 'x2', 'y2')).alias('result')).collect()
[Row(result='POINT(3 5)')]
# Returns a linestring when the box degenerates to a horizontal segment.
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1.0, 0.0, 4.0, 0.0)], ['x1', 'y1', 'x2', 'y2'])
df.select(dbf.st_astext(dbf.st_makeenvelope('x1', 'y1', 'x2', 'y2')).alias('result')).collect()
[Row(result='LINESTRING(1 0,4 0)')]
# Returns a linestring when the box degenerates to a vertical segment.
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(0.0, 2.0, 0.0, 7.0)], ['x1', 'y1', 'x2', 'y2'])
df.select(dbf.st_astext(dbf.st_makeenvelope('x1', 'y1', 'x2', 'y2')).alias('result')).collect()
[Row(result='LINESTRING(0 2,0 7)')]
# The SRID of the returned geometry is always 0.
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(0.0, 0.0, 10.0, 10.0)], ['x1', 'y1', 'x2', 'y2'])
df.select(dbf.st_srid(dbf.st_makeenvelope('x1', 'y1', 'x2', 'y2')).alias('result')).collect()
[Row(result=0)]