Sdílet prostřednictvím


st_addpoint

Důležité

Tato funkce je ve verzi Public Preview.

Přidá nový bod na n-tou pozici ve vstupním linestring Geography nebo Geometry.

Odpovídající funkci SQL Databricks vizte funkcest_addpoint.

Syntaxe

from pyspark.databricks.sql import functions as dbf

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

Parametry

Parameter Typ Description
col1 pyspark.sql.Column nebo str Hodnota Geography nebo Geometry představující lomenou čáru.
col2 pyspark.sql.Column nebo str Zeměpisná oblast nebo hodnota geometrie představující bod.
col3 pyspark.sql.Column nebo int, volitelné Volitelná jedno-indexovaná pozice v linii, kde má být přidán nový bod. Výchozí hodnota je -1.

Examples

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)')]