Partilhar via


st_addpoint

Importante

Este recurso está no Public Preview.

Adiciona um novo ponto à posição n-ésima na cadeia de linhas de entrada Geografia ou Geometria.

Para a função SQL do Databricks correspondente, veja st_addpoint função.

Sintaxe

from pyspark.databricks.sql import functions as dbf

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

Parâmetros

Parâmetro Tipo Description
col1 pyspark.sql.Column ou str Um valor de Geografia ou Geometria representando uma cadeia de linhas.
col2 pyspark.sql.Column ou str Um valor de Geografia ou Geometria que representa um ponto.
col3 pyspark.sql.Column ou int, opcional Uma posição opcional baseada em 1 na sequência de linhas onde o novo ponto deve ser adicionado. O valor padrão é -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)')]