Udostępnij przez


st_addpoint

Ważne

Ta funkcja jest dostępna w publicznej wersji testowej.

Dodaje nowy punkt do n-tej pozycji w linii wejściowej Geography lub Geometry.

Aby uzyskać odpowiednią funkcję SQL usługi Databricks, zobacz st_addpoint funkcja.

Składnia

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 lub str Wartość Geography lub Geometry reprezentująca ciąg liniowy.
col2 pyspark.sql.Column lub str Wartość Geography lub Geometry reprezentująca punkt.
col3 pyspark.sql.Column lub int, opcjonalnie Opcjonalna pozycja, liczona od 1, w łańcuchu linii, w której należy dodać nowy punkt. Wartość domyślna to -1.

Przykłady

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