Partager via


st_addpoint

Important

Cette fonctionnalité est disponible en préversion publique.

Ajoute un nouveau point à la n-ième position dans la chaîne de ligne d’entrée Geography ou Geometry.

Pour la fonction SQL Databricks correspondante, consultez st_addpoint.

Syntaxe

from pyspark.databricks.sql import functions as dbf

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

Paramètres

Paramètre Type Descriptif
col1 pyspark.sql.Column ou str Valeur Geography ou Geometry représentant une chaîne de ligne.
col2 pyspark.sql.Column ou str Valeur Geography ou Geometry représentant un point.
col3 pyspark.sql.Column ou int, facultatif Position facultative basée sur 1 dans la chaîne de ligne où le nouveau point doit être ajouté. La valeur par défaut est -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)')]