st_makepoint

Область применения:check помечена да Databricks Runtime 18.2 и выше

Возвращает значение geometry точки с заданными координатами. Функция принимает 2, 3 или 4 числовых значения, представляющее координаты точки (x, y), (x, y, z) или (x, y, z, m).

Для соответствующей функции Databricks SQL смотрите функцию st_makepoint.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.st_makepoint(*cols)

Parameters

Parameter Тип Description
cols pyspark.sql.Column или с плавающей запятой Значения координат. Должно быть 2 (x, y), 3 (x, y, z) или 4 (x, y, z, m) аргументов.

Returns

pyspark.sql.Column: геометрическое значение, представляющее точку с указанными координатами.

Значение SRID возвращаемой геометрии всегда 0.

Число входных координат определяет измерение возвращаемой точки: 2D, если вы предоставляете только x и y3DZ, если вы также предоставляете zили 4D, если вы предоставляете все четыре координаты (x, y, zи ).m

Функция возвращает None, если какие-либо из входных данных None.

Примеры

Создает 2D-точку с координатами (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)')]

Создает точку 3DZ с координатами (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)')]

Создает 4D-точку с координатами (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 возвращаемой геометрии всегда равен 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)]

Тип возвращаемой геометрии всегда является 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)')]

Функция возвращает None, если какие-либо из входных данных 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)]