Condividi tramite


st_geometryn

Importante

Questa funzionalità è in Anteprima Pubblica.

Restituisce l'n-esimo elemento, partendo da 1, della geometria multipla di input o None se non esiste.

Per la funzione SQL di Databricks corrispondente, vedere st_geometryn funzione.

Sintassi

from pyspark.databricks.sql import functions as dbf

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

Parametri

Parametro TIPO Description
col1 pyspark.sql.Column o str Valore di Geometry
col2 pyspark.sql.Column o int Indice in base 1 della geometria da restituire.

Esempi

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