Pular para o conteúdo principal

st_force2d

Aplica-se a: Sim, marcado como certo Databricks Runtime 18.1 e acima

info

Visualização

Este recurso está em Pré-visualização Pública.

Retorna a projeção 2D do valor de Geografia ou Geometria inserido.

O valor SRID do valor de Geografia ou Geometria de saída é igual ao do valor de entrada.

A função retorna None se a entrada for None.

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

Sintaxe

Python
from pyspark.databricks.sql import functions as dbf

dbf.st_force2d(col=<col>)

Parâmetros

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

Um valor de Geografia ou Geometria .

Notas

Se a entrada contiver coordenadas Z e/ou M, estas serão descartadas na saída.

Se a entrada já for 2D, ela será retornada como está.

Exemplos

Extraia a coordenada M de um ponto geográfico:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT M (1 2 3)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geogfromtext('wkt'))).alias('result')).collect()
Output
[Row(result='SRID=4326;POINT(1 2)')]

Extrair as coordenadas Z e M de uma geografia multiponto:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('MULTIPOINT ZM (EMPTY,0 0 10 20, 1 1 11 21)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geogfromtext('wkt'))).alias('result')).collect()
Output
[Row(result='SRID=4326;MULTIPOINT(EMPTY,(0 0),(1 1))')]

Extrair a coordenada Z de uma área geográfica poligonal:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POLYGON Z ((0 0 2,1 0 3,0 1 4,0 0 5))',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geogfromtext('wkt'))).alias('result')).collect()
Output
[Row(result='SRID=4326;POLYGON((0 0,1 0,0 1,0 0))')]

Extrair a coordenada Z de uma geometria de ponto:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT Z (1 2 3)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geomfromtext('wkt', 4326))).alias('result')).collect()
Output
[Row(result='SRID=4326;POINT(1 2)')]

Extrair as coordenadas Z e M de uma geometria de linha:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('LINESTRING ZM (0 0 10 20, 1 1 11 21)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geomfromtext('wkt', 4326))).alias('result')).collect()
Output
[Row(result='SRID=4326;LINESTRING(0 0,1 1)')]

Retorne a geometria 2D de entrada tal como está:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT(1 2)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geomfromtext('wkt', 4326))).alias('result')).collect()
Output
[Row(result='SRID=4326;POINT(1 2)')]

Preserve o SRID da geografia de entrada:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT(1 2)',)], ['wkt'])
df.select(dbf.st_srid(dbf.st_force2d(dbf.st_geogfromtext('wkt'))).alias('result')).collect()
Output
[Row(result=4326)]

Preserve o SRID da geometria de entrada:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT(1 2)',)], ['wkt'])
df.select(dbf.st_srid(dbf.st_force2d(dbf.st_geomfromtext('wkt', 4326))).alias('result')).collect()
Output
[Row(result=4326)]

Retorne None com uma entrada de None:

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(None,)], ['wkt'])
df.select(dbf.st_force2d(dbf.st_geogfromtext('wkt')).alias('result')).collect()
Output
[Row(result=None)]