メインコンテンツまでスキップ

ジオメトリを試す

入力された BINARY または文字列値を解析し、対応するGeometry値を返します。入力が無効な場合はNoneが返されます。

対応する Databricks SQL 関数については、 try_to_geometry関数を参照してください。

構文

Python
from pyspark.sql import functions as dbf

dbf.try_to_geometry(col=<col>)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または str

WKT または GeoJSON 形式の文字列値、あるいはジオメトリ値を表す WKB または EWKB 形式の BINARY 値。

パラメーター

Type

説明

col

pyspark.sql.Column または str

WKT または GeoJSON 形式の文字列値、あるいはジオメトリ値を表す WKB または EWKB 形式の BINARY 値。

Python
from pyspark.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()
Output
[Row(result='POINT Z (3 4 5)')]
Python
from pyspark.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()
Output
[Row(result='SRID=4326;MULTIPOINT Z ((3 4 5))')]
Python
from pyspark.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()
Output
[Row(result='GEOMETRYCOLLECTION Z (POINT Z (3 4 5))')]
Python
from pyspark.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()
Output
[Row(result='SRID=3857;LINESTRING Z (3 4 5,3 4 5)')]
Python
from pyspark.sql import functions as dbf
df = spark.createDataFrame([('invalid wkt',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.try_to_geometry('wkt')).alias('result')).collect()
Output
[Row(result=None)]
このページの見出し