Share via


try_to_geography

Important

This feature is in Public Preview.

Parses the input BINARY or string value and returns the corresponding Geography value. None is returned if the input is invalid.

For the corresponding Databricks SQL function, see try_to_geography function.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.try_to_geography(col=<col>)

Parameters

Parameter Type Description
col pyspark.sql.Column or str A string value in WKT or GeoJSON format, or a BINARY value in WKB format representing a Geography value.

Examples

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_geography('wkt')).alias('result')).collect()
[Row(result='SRID=4326;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_geography('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_geography('wkb')).alias('result')).collect()
[Row(result='SRID=4326;GEOMETRYCOLLECTION Z (POINT Z (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_geography('wkt')).alias('result')).collect()
[Row(result=None)]