to_geometry

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Analyserar indatavärdet som är binärt eller en sträng och returnerar motsvarande geometrivärde. Ett fel utlöses för ogiltiga indata.

För motsvarande Databricks SQL-funktion, se to_geometry funktion.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.to_geometry(col=<col>)

Parameterar

Parameter Typ Description
col pyspark.sql.Column eller str Ett strängvärde i WKT- eller GeoJSON-format, eller ett BINÄRt värde i WKB- eller EWKB-format som representerar ett geometrivärde .

Examples

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT Z (3 4 5)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.to_geometry('wkt')).alias('result')).collect()
[Row(result='POINT Z (3 4 5)')]
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('{"type":"MultiPoint","coordinates":[[3,4,5]]}',)], ['geojson'])
df.select(dbf.st_asewkt(dbf.to_geometry('geojson')).alias('result')).collect()
[Row(result='SRID=4326;MULTIPOINT Z ((3 4 5))')]
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(bytes.fromhex('01ef0300000100000001e9030000000000000000084000000000000010400000000000001440'),)], ['wkb'])
df.select(dbf.st_asewkt(dbf.to_geometry('wkb')).alias('result')).collect()
[Row(result='GEOMETRYCOLLECTION Z (POINT Z (3 4 5))')]
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(bytes.fromhex('01020000a0110f000002000000000000000000084000000000000010400000000000001440000000000000084000000000000010400000000000001440'),)], ['ewkb'])
df.select(dbf.st_asewkt(dbf.to_geometry('ewkb')).alias('result')).collect()
[Row(result='SRID=3857;LINESTRING Z (3 4 5,3 4 5)')]