適用於:
執行環境 18.2 及以上版本
回傳一個帶有給定座標的點 幾何 值。 該函數可取 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)
Parameters
| 參數 | 類型 | Description |
|---|---|---|
cols |
pyspark.sql.Column 或浮動 |
座標值。 必須有 2 個 (x, y)、3 個 (x, y, z) 或 4 個 (x, y, z, m) 參數。 |
Returns
pyspark.sql.Column:一個幾 何 值,代表具有指定座標的點。
回傳幾何體的 SRID 值總是 0。
輸入座標的數量決定回傳點的維度:若僅提供 x 和 y則為 2D;若同時提供 z3DZ 則為 ;若提供全部四個座標(x、 yz,)m則為 4D。
如果任何輸入為 None,則函式會傳None回 。
Examples
建立一個座標為 (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)')]
建立一個座標為 (1, 2, 3) 的 3DZ 點。
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) 的四維點。
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)]
回傳幾何的類型總是 geometry(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)]