Aller au contenu principal

try_to_geometry

Analyse la valeur BINARY ou la chaîne de caractères en entrée et renvoie la valeur Geometry correspondante. None est renvoyé si l'entrée n'est pas valide.

Pour la fonction Databricks SQL correspondante, consultez la fonctiontry_to_geometry.

Syntaxe

Python
from pyspark.sql import functions as dbf

dbf.try_to_geometry(col=<col>)

parameter

parameter

Type

Description

col

pyspark.sql.Column OU str

Une valeur de chaîne au format WKT ou GeoJSON, ou une valeur BINAIRE au format WKB ou EWKB représentant une valeur Géométrie.

parameter

Type

Description

col

pyspark.sql.Column OU str

Une valeur de chaîne au format WKT ou GeoJSON, ou une valeur BINAIRE au format WKB ou EWKB représentant une valeur Géométrie.

Exemples

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)]