Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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)')]