st_addpoint
info
Visualização
Este recurso está em Pré-visualização Pública.
Adiciona um novo ponto à n-ésima posição na cadeia de linha de entrada Geografia ou Geometria.
Para a função Databricks SQL correspondente, consulte a funçãost_addpoint.
Sintaxe
Python
from pyspark.databricks.sql import functions as dbf
dbf.st_addpoint(col1=<col1>, col2=<col2>, col3=<col3>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Um valor de Geografia ou Geometria que representa uma linha. |
|
| Um valor geográfico ou geométrico que representa um ponto. |
|
| Uma posição opcional, baseada em 1, na linha onde o novo ponto deve ser adicionado. O valor padrão é -1. |
Exemplos
Python
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()
Output
[Row(result='LINESTRING(1 2,3 4,7 8)')]
Python
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()
Output
[Row(result='SRID=4326;LINESTRING(1 2,3 4,7 8)')]
Python
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()
Output
[Row(result='SRID=4326;LINESTRING ZM (1 2 3 4,5 6 7 8,0 9 0 99)')]