Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks Runtime 18 LTS y versiones posteriores
Nota:
Databricks Runtime 18 es más reciente que Databricks Runtime 18.0, 18.1 y 18.2. Las características que anteriormente se hubieran enviado como una versión numerada posterior ahora se envían como actualizaciones con fecha de Databricks Runtime 18 en su lugar. Para obtener más información, consulte Acerca de las notas de la versión unificadas.
Important
Esta característica está en versión preliminar pública.
Recopila una matriz de valores Geography o Geometry en una sola colección multipoint, multilinestring, multilínea o geometry.
Para obtener la función SQL de Databricks correspondiente, consulte st_collect function.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.st_collect(col=<col>)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
col |
pyspark.sql.Column o str |
Matriz de valores geography o una matriz de valores geometry . |
Returns
pyspark.sql.Column: un valor Geography o Geometry , que representa una colección multipoint, multilinestring, multipolygon o geometry.
Los None valores de la matriz de entrada se omiten. El tipo de la salida depende de los tipos de las geometrías que noNone son de entrada:
- Si todos los elementos que no
Noneson elementos son puntos, devuelve un punto múltiple. - Si todos los elementos que no
Noneson linestrings, devuelve una cadena de varias líneas. - Si todos los elementos no
Noneson polígonos, devuelve un multipolygon. - De lo contrario, devuelve una colección de geometría.
Cada salida contiene un elemento por elemento que noNone es de matriz.
Las entradas multitipo (multipunto, cadena multilínea, multipolygon) y entradas de colección de geometría se conservan como elementos de la colección de geometría resultante; no están aplanados.
El valor SRID de la salida es el valor SRID común de las geometrías que noNone son de entrada.
La dimensión de la salida es la dimensión común máxima de las geometrías que noNone son de entrada.
Si la matriz de entrada está vacía o contiene solo None valores, se devuelve la colección de geometría vacía 2D. En este caso, el SRID de la salida se determina de la siguiente manera:
- Si el tipo de elemento de la matriz de entrada es
GEOGRAPHY(ANY), el SRID de la salida es4326. - Si el tipo de elemento de la matriz de entrada es
GEOMETRY(ANY), el SRID de la salida es0. - De lo contrario, el SRID de la salida es el del tipo de elemento de la matriz de entrada.
Si dos geometrías que noNone son de entrada tienen valores SRID diferentes, la función genera un error de ST_DIFFERENT_SRID_VALUES .
La función devuelve None si la entrada es None.
Examples
Recopila una matriz de puntos en un punto múltiple.
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))')]
Recopila una matriz de polígonos en 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)))')]
Recopila una matriz de tipos de geometría mixta en una colección de geometría.
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))')]
Devuelve la colección de geometría vacía 2D para una matriz de entrada vacía.
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')]
Devuelve None para una None entrada.
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)]