st_makepoint

Platí pro:check označeno ano Databricks Runtime 18.2 a vyšší

Vrátí hodnotu geometrie bodu s danými souřadnicemi. Funkce přebírá 2, 3 nebo 4 číselné hodnoty představující souřadnice bodu (x, y, z) nebo (x, y, z, m).

Odpovídající funkci SQL Databricks vizte funkcest_makepoint.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.st_makepoint(*cols)

Parameters

Parameter Typ Description
cols pyspark.sql.Column nebo float Hodnoty souřadnic. Argumenty musí být 2 (x, y), 3 (x, y, z) nebo 4 (x, y, z, m).

Returns

pyspark.sql.Column: Hodnota geometrie představující bod se zadanými souřadnicemi.

Hodnota SRID vrácené geometrie je vždy 0.

Počet vstupních souřadnic určuje rozměr vráceného bodu: 2D, pokud zadáte pouze x a y, 3DZ pokud zadáte také z, nebo 4D, pokud zadáte všechny čtyři souřadnice (x, y, za m).

Funkce vrátí None , pokud je některý ze vstupů None.

Příklady

Vytvoří 2D bod se souřadnicemi (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)')]

Vytvoří bod 3DZ se souřadnicemi (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)')]

Vytvoří 4D bod se souřadnicemi (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)')]

SRID vrácené geometrie je vždy 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)]

Typ vrácené geometrie je vždy geometrie(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)')]

Funkce vrátí None , pokud je některý ze vstupů 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)]