st_makepoint

적용 대상:예 Databricks Runtime 18.2 이상으로 표시된 확인

지정된 좌표가 있는 점 기하 도형 값을 반환합니다. 이 함수는 점의 (x, y, y, z) 또는 (x, y, z, m) 좌표를 나타내는 2, 3 또는 4개의 숫자 값을 사용합니다.

해당 Databricks SQL 함수에 대해 알아보려면 st_makepoint 함수를 참조하세요.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.st_makepoint(*cols)

Parameters

매개 변수 Type Description
cols pyspark.sql.Column 또는 float 좌표 값입니다. 2(x, y), 3(x, y, z) 또는 4(x, y, z, m) 인수여야 합니다.

Returns

pyspark.sql.Column: 지정된 좌표가 있는 점을 나타내는 기하 도형 값입니다.

반환된 기하 도형의 SRID 값은 항상 0.

입력 좌표의 수는 반환된 지점의 차원을 결정합니다. 2D만 xy제공하는 경우 3DZ, z4개의 좌표(x, y, zm)를 모두 제공하는 경우 4D입니다.

입력 중 하나라도 None인 경우 함수는 None을 반환합니다.

예제

좌표(10, 34)를 사용하여 2D 점을 만듭니다.

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)')]

좌표(1, 2, 3)를 사용하여 3DZ 점을 만듭니다.

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)')]

좌표(1, 2, 3, 4)를 사용하여 4D 점을 만듭니다.

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)]