st_makepoint
対象: Databricks Runtime 18.2以降
備考
プレビュー
この機能は パブリック プレビュー段階です。
指定された座標を持つ点ジオメトリ値を返します。この関数は、点の座標 (x, y)、(x, y, z)、または (x, y, z, m) を表す 2、3、または 4 つの数値を受け取ります。
対応する Databricks SQL 関数については、 st_makepoint関数を参照してください。
構文
Python
from pyspark.databricks.sql import functions as dbf
dbf.st_makepoint(*cols)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| 座標値。引数は2つ(x、y)、3つ(x、y、z)、または4つ(x、y、z、m)である必要があります。 |
戻り値
pyspark.sql.Column: 指定された座標を持つ点を表すジオメトリ値。
返されるジオメトリの SRID 値は常に0です。
入力座標の数によって返される点の次元が決まります。 xとyのみを指定した場合は2D、 zも指定した場合は3DZ、4つの座標すべて( x 、 y 、 z 、 m )を指定した場合は4Dになります。
入力値のいずれかがNoneの場合、関数はNoneを返します。
例
座標(10, 34)を持つ2次元点を作成します。
Python
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()
Output
[Row(result='POINT(10 34)')]
座標(1, 2, 3)を持つ3DZポイントを作成します。
Python
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()
Output
[Row(result='POINT Z (1 2 3)')]
座標(1, 2, 3, 4)を持つ4Dポイントを作成します。
Python
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()
Output
[Row(result='POINT ZM (1 2 3 4)')]
返されるジオメトリのSRIDは常に0です。
Python
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()
Output
[Row(result=0)]
返されるジオメトリの型は常に geometry(0) です。
Python
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()
Output
[Row(result='geometry(0)')]
入力値のいずれかがNoneの場合、関数はNoneを返します。
Python
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()
Output
[Row(result=None)]