Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks Runtime 18.2 en hoger
Important
Deze functie bevindt zich in openbare preview-versie.
Hiermee wordt een geometrie geretourneerd die de op de 2D-as uitgelijnde envelop (minimaal begrenzingsvak) vertegenwoordigt die is gedefinieerd door de twee hoekcoördinaten (x1, y1) en (x2, y2).
Voor de overeenkomstige Databricks SQL-functie, zie de st_makeenvelope functie.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.st_makeenvelope(x1=<x1>, y1=<y1>, x2=<x2>, y2=<y2>)
Parameters
| Parameter | Typ | Description |
|---|---|---|
x1 |
pyspark.sql.Column of float |
De X-coördinaat van de eerste hoek. |
y1 |
pyspark.sql.Column of float |
De Y-coördinaat van de eerste hoek. |
x2 |
pyspark.sql.Column of float |
De X-coördinaat van de tweede hoek. |
y2 |
pyspark.sql.Column of float |
De Y-coördinaat van de tweede hoek. |
Returns
pyspark.sql.Column: Een kolom met geometriewaarden die de op de 2D-as uitgelijnde envelop van de twee invoerhoeken vertegenwoordigen. De SRID van de geretourneerde geometrie is 0.
De invoerhoeken kunnen in elke volgorde worden verstrekt; de resulterende envelop is hetzelfde als wanneer de hoeken zijn genormaliseerd tot (xmin, ymin) en (xmax, ymax).
Het type geretourneerde geometrie is afhankelijk van de invoerhoeken:
- Als het vak wordt ontaard naar een enkel punt (
x1 = x2eny1 = y2), is het resultaat een punt. - Als het vak wordt ontaard in een segment (
x1 = x2ofy1 = y2, maar niet beide), is het resultaat een lijnentring met twee punten. - Anders is het resultaat een veelhoek met vijf hoekpunten (gesloten ring).
De functie retourneert None als een van de invoerwaarden is None.
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)]