這很重要
這項功能目前處於 公開預覽版。
解析輸入的二進位或字串值,並回傳對應的 幾何 值。 因輸入無效而產生錯誤。
關於對應的 Databricks SQL 函式,請參見 to_geometry 函數。
語法
from pyspark.databricks.sql import functions as dbf
dbf.to_geometry(col=<col>)
參數
| 參數 | 類型 | Description |
|---|---|---|
col |
pyspark.sql.Column 或 str |
一個以 WKT 或 GeoJSON 格式表示字串值,或以 WKB 或 EWKB 格式表示 幾何 值的二進位值。 |
範例
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)')]