Partilhar via


st_geometryn

Importante

Este recurso está no Public Preview.

Devolve o elemento n-ésimo baseado em 1 da multigeometria de entrada, ou None se não existir.

Para a função SQL do Databricks correspondente, veja st_geometryn função.

Sintaxe

from pyspark.databricks.sql import functions as dbf

dbf.st_geometryn(col1=<col1>, col2=<col2>)

Parâmetros

Parâmetro Tipo Description
col1 pyspark.sql.Column ou str Um valor de Geometria.
col2 pyspark.sql.Column ou int O índice baseado em 1 da geometria que deve ser devolvida.

Examples

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