중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
입력 BINARY 또는 문자열 값을 구문 분석하고 해당 Geometry 값을 반환합니다.
None 는 입력이 잘못된 경우 반환됩니다.
해당 Databricks SQL 함수에 대해 알아보려면 try_to_geometry 함수를 참조하세요.
문법
from pyspark.databricks.sql import functions as dbf
dbf.try_to_geometry(col=<col>)
매개 변수
| 매개 변수 | 유형 | Description |
|---|---|---|
col |
pyspark.sql.Column 또는 str |
WKT 또는 GeoJSON 형식의 문자열 값, 또는 지오메트리 값을 나타내는 WKB 또는 EWKB 형식의 BINARY 값입니다. |
예시
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT Z (3 4 5)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.try_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.try_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.try_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.try_to_geometry('ewkb')).alias('result')).collect()
[Row(result='SRID=3857;LINESTRING Z (3 4 5,3 4 5)')]
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('invalid wkt',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.try_to_geometry('wkt')).alias('result')).collect()
[Row(result=None)]