st_makepoint

Gäller för:check markerat ja Databricks Runtime 18.2 och senare

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Returnerar ett punktgeometrivärde med de angivna koordinaterna. Funktionen tar 2, 3 eller 4 numeriska värden som representerar (x, y), (x, y, z) eller (x, y, z, m) koordinaterna för punkten.

För motsvarande Databricks SQL-funktion, se st_makepoint funktion.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.st_makepoint(*cols)

Parameters

Parameter Type Description
cols pyspark.sql.Column eller flyttal Koordinatvärdena. Måste vara 2 (x, y), 3 (x, y, z) eller 4 (x, y, z, m) argument.

Returns

pyspark.sql.Column: Ett geometrivärde som representerar en punkt med de angivna koordinaterna.

SRID-värdet för den returnerade geometrin är alltid 0.

Antalet indatakoordinater avgör dimensionen för den returnerade punkten: 2D om du endast x anger och y, 3DZ om du även anger z, eller 4D om du anger alla fyra koordinaterna (x, , yzoch m).

Funktionen returnerar None om någon av indata är None.

Exempel

Skapar en 2D-punkt med koordinater (10, 34).

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(10.0, 34.0)], ['x', 'y'])
df.select(dbf.st_astext(dbf.st_makepoint('x', 'y')).alias('result')).collect()
[Row(result='POINT(10 34)')]

Skapar en 3DZ-punkt med koordinater (1, 2, 3).

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1.0, 2.0, 3.0)], ['x', 'y', 'z'])
df.select(dbf.st_astext(dbf.st_makepoint('x', 'y', 'z')).alias('result')).collect()
[Row(result='POINT Z (1 2 3)')]

Skapar en 4D-punkt med koordinater (1, 2, 3, 4).

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1.0, 2.0, 3.0, 4.0)], ['x', 'y', 'z', 'm'])
df.select(dbf.st_astext(dbf.st_makepoint('x', 'y', 'z', 'm')).alias('result')).collect()
[Row(result='POINT ZM (1 2 3 4)')]

SRID för den returnerade geometrin är alltid 0.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(10.0, 34.0)], ['x', 'y'])
df.select(dbf.st_srid(dbf.st_makepoint('x', 'y')).alias('result')).collect()
[Row(result=0)]

Typen av den returnerade geometrin är alltid geometri(0).

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(10.0, 34.0)], ['x', 'y'])
df.select(dbf.typeof(dbf.st_makepoint('x', 'y')).alias('result')).collect()
[Row(result='geometry(0)')]

Funktionen returnerar None om någon av indata är None.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(10.0, None)], ['x', 'y'])
df.select(dbf.st_astext(dbf.st_makepoint('x', 'y')).alias('result')).collect()
[Row(result=None)]