Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
Databricks Runtime 18 e versioni successive
Note
Databricks Runtime 18 è più recente di Databricks Runtime 18.0, 18.1 e 18.2. Le funzionalità che in precedenza avrebbero fornito come versione numerata successiva ora vengono forniti come aggiornamenti datati a Databricks Runtime 18. Per informazioni dettagliate, vedere Informazioni sulle note sulla versione unificata.
Importante
Questa funzionalità è in Anteprima Pubblica.
Raccoglie una matrice di valori Geography o Geometry in un singolo insieme multipunto, multilinestring, multipolygon o geometry.
Per la funzione SQL di Databricks corrispondente, vedere st_collect funzione.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.st_collect(col=<col>)
Parametri
| Parametro | Tipo | Description |
|---|---|---|
col |
pyspark.sql.Column oppure str |
Matrice di valori Geography o matrice di valori Geometry . |
Returns
pyspark.sql.Column: valore Geography o Geometry , che rappresenta un insieme multipunto, multilinestring, multipolygon o geometry.
Tutti i None valori nella matrice di input vengono ignorati. Il tipo di output dipende dai tipi delleNone geometrie non di input:
- Se tutti gli elementi non
Nonesono punti, restituisce un multipunto. - Se tutti gli elementi non
Nonesono linestring, restituisce una stringa multilinea. - Se tutti gli elementi non
Nonesono poligoni, restituisce un multipolygon. - In caso contrario, restituisce un insieme geometry.
Ogni output contiene un elemento per ogni elemento nonNone di matrice.
Gli input multitipo (multipoint, multilinestring, multipolygon) e gli input della raccolta geometry vengono mantenuti come elementi della raccolta geometry risultante; non sono appiattiti.
Il valore SRID dell'output è il valore SRID comune delleNone geometrie non di input.
La dimensione dell'output è la dimensione massima comune delle geometrie nonNone di input.
Se la matrice di input è vuota o contiene solo None valori, viene restituita la raccolta geometry vuota 2D. In questo caso, l'identificatore SRID dell'output viene determinato nel modo seguente:
- Se il tipo di elemento della matrice di input è
GEOGRAPHY(ANY), l'identificatore SRID dell'output è4326. - Se il tipo di elemento della matrice di input è
GEOMETRY(ANY), l'identificatore SRID dell'output è0. - In caso contrario, lo SRID dell'output è quello del tipo di elemento della matrice di input.
Se due geometrie nonNone di input hanno valori SRID diversi, la funzione genera un errore di ST_DIFFERENT_SRID_VALUES .
La funzione restituisce None se l'input è None.
Examples
Raccoglie una matrice di punti in un multipunto.
from pyspark.databricks.sql import functions as dbf
from pyspark.sql import functions as sf
df = spark.createDataFrame([('POINT(1 2)', 'POINT(3 4)')], ['wkt1', 'wkt2'])
df.select(dbf.st_astext(dbf.st_collect(sf.array(dbf.st_geomfromtext('wkt1'), dbf.st_geomfromtext('wkt2')))).alias('result')).collect()
[Row(result='MULTIPOINT((1 2),(3 4))')]
Raccoglie una matrice di poligoni in un multipolygon.
from pyspark.databricks.sql import functions as dbf
from pyspark.sql import functions as sf
df = spark.createDataFrame([('POLYGON((0 0,10 0,10 10,0 10,0 0))',)], ['wkt'])
df.select(dbf.st_astext(dbf.st_collect(sf.array(dbf.st_geomfromtext('wkt')))).alias('result')).collect()
[Row(result='MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0)))')]
Raccoglie una matrice di tipi di geometria misti in una raccolta geometry.
from pyspark.databricks.sql import functions as dbf
from pyspark.sql import functions as sf
df = spark.createDataFrame([('POLYGON((0 0,10 0,10 10,0 10,0 0))', 'LINESTRING(1 2,3 4)')], ['wkt1', 'wkt2'])
df.select(dbf.st_astext(dbf.st_collect(sf.array(dbf.st_geomfromtext('wkt1'), dbf.st_geomfromtext('wkt2')))).alias('result')).collect()
[Row(result='GEOMETRYCOLLECTION(POLYGON((0 0,10 0,10 10,0 10,0 0)),LINESTRING(1 2,3 4))')]
Restituisce l'insieme geometry vuoto 2D per una matrice di input vuota.
from pyspark.databricks.sql import functions as dbf
from pyspark.sql import functions as sf
df = spark.range(1)
df.select(dbf.st_astext(dbf.st_collect(sf.array())).alias('result')).collect()
[Row(result='GEOMETRYCOLLECTION EMPTY')]
Restituisce None per un None input.
from pyspark.databricks.sql import functions as dbf
from pyspark.sql import functions as sf
df = spark.range(1)
df.select(dbf.st_collect(sf.lit(None)).alias('result')).collect()
[Row(result=None)]