st_makepoint

Aplica-se a:sim, Databricks Runtime 18.2 e superiores

Importante

Este recurso está no Public Preview.

Devolve um valor de Geometria pontual com as coordenadas dadas. A função assume 2, 3 ou 4 valores numéricos, representando as coordenadas (x, y), (x, y, z) ou (x, y, z, m) do ponto.

Para a função SQL do Databricks correspondente, veja st_makepoint função.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.st_makepoint(*cols)

Parameters

Parâmetro Tipo Description
cols pyspark.sql.Column ou flutuar Os valores das coordenadas. Devem ser 2 (x, y), 3 (x, y, z) ou 4 (x, y, z, m) argumentos.

Devoluções

pyspark.sql.Column: Um valor de Geometria , representando um ponto com as coordenadas especificadas.

O valor SRID da geometria devolvida é sempre 0.

O número de coordenadas de entrada determina a dimensão do ponto devolvido: 2D se fornecer apenas x e y, 3DZ se também fornecer z, ou 4D se fornecer as quatro coordenadas (x, y, z, e m).

A função retorna None se qualquer uma das entradas for None.

Exemplos

Cria um ponto 2D com coordenadas (10, 34).

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(10.0, 34.0)], ['x', 'y'])
df.select(dbf.st_astext(dbf.st_makepoint('x', 'y')).alias('result')).collect()
[Row(result='POINT(10 34)')]

Cria um ponto 3DZ com coordenadas (1, 2, 3).

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1.0, 2.0, 3.0)], ['x', 'y', 'z'])
df.select(dbf.st_astext(dbf.st_makepoint('x', 'y', 'z')).alias('result')).collect()
[Row(result='POINT Z (1 2 3)')]

Cria um ponto 4D com coordenadas (1, 2, 3, 4).

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1.0, 2.0, 3.0, 4.0)], ['x', 'y', 'z', 'm'])
df.select(dbf.st_astext(dbf.st_makepoint('x', 'y', 'z', 'm')).alias('result')).collect()
[Row(result='POINT ZM (1 2 3 4)')]

O SRID da geometria devolvida é sempre 0.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(10.0, 34.0)], ['x', 'y'])
df.select(dbf.st_srid(dbf.st_makepoint('x', 'y')).alias('result')).collect()
[Row(result=0)]

O tipo da geometria devolvida é sempre geometria(0).

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(10.0, 34.0)], ['x', 'y'])
df.select(dbf.typeof(dbf.st_makepoint('x', 'y')).alias('result')).collect()
[Row(result='geometry(0)')]

A função retorna None se qualquer uma das entradas for None.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(10.0, None)], ['x', 'y'])
df.select(dbf.st_astext(dbf.st_makepoint('x', 'y')).alias('result')).collect()
[Row(result=None)]