Pular para o conteúdo principal

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

col1

pyspark.sql.Column ou str

Um valor de Geografia ou Geometria que representa uma linha.

col2

pyspark.sql.Column ou str

Um valor geográfico ou geométrico que representa um ponto.

col3

pyspark.sql.Column ou int, opcional

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