Pular para o conteúdo principal

tente_para_geometria

Analisa o valor BINÁRIO ou de string de entrada e retorna o valor Geometry correspondente. None é retornado se a entrada for inválida.

Para a função Databricks SQL correspondente, consulte a funçãotry_to_geometry.

Sintaxe​

Python
from pyspark.sql import functions as dbf

dbf.try_to_geometry(col=<col>)

Parâmetros​

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

Um valor de string no formato WKT ou GeoJSON, ou um valor BINÁRIO no formato WKB ou EWKB representando um valor de Geometria .

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

Um valor de string no formato WKT ou GeoJSON, ou um valor BINÁRIO no formato WKB ou EWKB representando um valor de Geometria .

Exemplos​

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