這很重要
這項功能目前處於 公開預覽版。
回傳輸入多重幾何中以 1 為基礎的第 n 個元素,如果不存在則回傳 None。
關於對應的 Databricks SQL 函式,請參見 st_geometryn 函數。
語法
from pyspark.databricks.sql import functions as dbf
dbf.st_geometryn(col1=<col1>, col2=<col2>)
參數
| 參數 | 類型 | Description |
|---|---|---|
col1 |
pyspark.sql.Column 或 str |
幾何的值。 |
col2 |
pyspark.sql.Column 或 int |
返回的幾何圖形之索引從 1 開始。 |
範例
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('GEOMETRYCOLLECTION(POINT(4 5),LINESTRING(10 3,24 37,44 85))',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_geometryn(dbf.st_geomfromtext('wkt', 4326), 2)).alias('result')).collect()
[Row(result='SRID=4326;LINESTRING(10 3,24 37,44 85)')]
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('MULTIPOLYGON(EMPTY,((0 0,10 0,0 10,0 0),(1 1,9 1,1 9,1 1)))',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_geometryn(dbf.st_geomfromtext('wkt'), 2)).alias('result')).collect()
[Row(result='POLYGON((0 0,10 0,0 10,0 0),(1 1,9 1,1 9,1 1))')]
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT(1 2)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_geometryn(dbf.st_geomfromtext('wkt'), 1)).alias('result')).collect()
[Row(result='POINT(1 2)')]