st_makepoint

Si applica a:check contrassegnato come sì Databricks Runtime 18.2 e versioni successive

Importante

Questa funzionalità è in Anteprima Pubblica.

Restituisce un valore Geometry punto con le coordinate indicate. La funzione accetta 2, 3 o 4 valori numerici, che rappresentano le coordinate (x, y), (x, y, z) o (x, y, z, m) del punto.

Per la funzione SQL di Databricks corrispondente, vedere st_makepoint funzione.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.st_makepoint(*cols)

Parameters

Parametro Tipo Description
cols pyspark.sql.Column o float Valori delle coordinate. Deve essere 2 (x, y), 3 (x, y, z) o 4 (x, y, z, m).

Returns

pyspark.sql.Column: valore Geometry , che rappresenta un punto con le coordinate specificate.

Il valore SRID della geometria restituita è sempre 0.

Il numero di coordinate di input determina la dimensione del punto restituito: 2D se si specifica solo x e y, 3DZ se si specifica anche , o 4D se si specificano ztutte e quattro le coordinate (x, y, ze m).

La funzione restituisce None se uno degli input è None.

Examples

Crea un punto 2D con coordinate (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)')]

Crea un punto 3DZ con coordinate (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)')]

Crea un punto 4D con coordinate (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)')]

Lo SRID della geometria restituita è 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)]

Il tipo della geometria restituita è sempre geometry(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)')]

La funzione restituisce None se uno degli input è 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)]