适用于:
Databricks Runtime 18.2 及更高版本
Important
此功能目前以公共预览版提供。
返回具有给定坐标的点 Geometry 值。 该函数采用 2、3 或 4 个数值,表示点的(x、y)、(x、y、z)或(x、y、z、m)坐标。
有关相应的 Databricks SQL 函数,请参阅 st_makepoint 函数。
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.st_makepoint(*cols)
参数
| 参数 | 类型 | Description |
|---|---|---|
cols |
pyspark.sql.Column 或浮点数 |
坐标值。 必须为 2 (x, y), 3 (x, y, z), 或 4 (x, y, z, m) 参数。 |
Returns
pyspark.sql.Column:一个 几何图形 值,表示具有指定坐标的点。
返回的几何图形的 SRID 值始终 0为 .
输入坐标的数目决定了返回点的维度:2D(如果仅 x 提供), y如果同时提供,则为 3DZ;如果提供 z所有四个坐标(x、 y、 z和 m),则为 4D。
如果任何输入为None,该函数将返回None。
示例
创建坐标为 10,34 的 2D 点。
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)')]
创建坐标为 3DZ 点(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)')]
创建坐标为 1、2、3、4 的 4D 点。
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 始终为 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)]
返回的几何图形的类型始终为几何图形(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)')]
如果任何输入为None,该函数将返回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)]