次の方法で共有


st_addpoint

Important

この機能は パブリック プレビュー段階です

入力ライン文字列 Geography または Geometry の n 番目の位置に新しいポイントを追加します。

対応する Databricks SQL 関数については、 st_addpoint 関数を参照してください。

構文

from pyspark.databricks.sql import functions as dbf

dbf.st_addpoint(col1=<col1>, col2=<col2>, col3=<col3>)

パラメーター

パラメーター タイプ Description
col1 pyspark.sql.Column または str 線の文字列を表す Geography または Geometry の値。
col2 pyspark.sql.Column または str ポイントを表す Geography または Geometry の値。
col3 pyspark.sql.Column または int、省略可能 新しいポイントを追加する必要がある行文字列内の 1 から始まる位置 (省略可能)。 既定値は -1 です。

例示

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('LINESTRING(1 2,3 4)','POINT(7 8)',)], ['wkt1', 'wkt2'])
df.select(dbf.st_astext(dbf.st_addpoint(dbf.st_geogfromtext('wkt1'), dbf.st_geogfromtext('wkt2'), 3)).alias('result')).collect()
[Row(result='LINESTRING(1 2,3 4,7 8)')]
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('LINESTRING(1 2,3 4)','POINT(7 8)',)], ['wkt1', 'wkt2'])
df.select(dbf.st_asewkt(dbf.st_addpoint(dbf.st_geogfromtext('wkt1'), dbf.st_geogfromtext('wkt2'))).alias('result')).collect()
[Row(result='SRID=4326;LINESTRING(1 2,3 4,7 8)')]
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('LINESTRING ZM (1 2 3 4,5 6 7 8)','POINT M (0 9 99)',)], ['wkt1', 'wkt2'])
df.select(dbf.st_asewkt(dbf.st_addpoint(dbf.st_geogfromtext('wkt1'), dbf.st_geogfromtext('wkt2'), -1)).alias('result')).collect()
[Row(result='SRID=4326;LINESTRING ZM (1 2 3 4,5 6 7 8,0 9 0 99)')]