Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks Runtime 18 LTS i nowszych
Note
Środowisko Databricks Runtime 18 jest nowsze niż środowisko Databricks Runtime 18.0, 18.1 i 18.2. Funkcje, które wcześniej były dostarczane jako nowsza numerowana wersja, są teraz dostarczane jako daty aktualizacji środowiska Databricks Runtime 18 zamiast. Aby uzyskać szczegółowe informacje, zobacz Informacje o ujednoliconej wersji.
Important
Ta funkcja jest dostępna w publicznej wersji testowej.
Zbiera tablicę wartości Geography lub Geometry w jednym wielopunktowym, wieloliniowym, wieloliniowym, wielobiegunowym lub kolekcji geometrycznej.
Aby uzyskać odpowiednią funkcję SQL usługi Databricks, zobacz st_collect funkcja.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.st_collect(col=<col>)
Parameters
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column lub str |
Tablica wartości Geography lub tablica wartości Geometry . |
Zwroty
pyspark.sql.Column: Wartość Geography lub Geometry reprezentująca wielopunktowe, wielowierszowe, wielobiegunowe lub kolekcje geometryczne.
Wszystkie None wartości w tablicy wejściowej są ignorowane. Typ danych wyjściowych zależy od typów geometrii niezwiązanychNone z danymi wejściowymi:
- Jeśli wszystkie elementy inne niż
Noneelementy są punktami, zwraca wielopunkt. - Jeśli wszystkie elementy inne
Noneniż elementy są ciągami liniowymi, zwraca wielowierszowy ciąg. - Jeśli wszystkie elementy inne niż są
Nonewielokątami, zwraca wielopolygon. - W przeciwnym razie zwraca kolekcję geometrii.
Każde dane wyjściowe zawiera jeden element na element inny niżNone tablica.
Dane wejściowe wieloznaczne (multipoint, multilinestring, multipolygon) i dane wejściowe kolekcji geometrycznej są zachowywane jako elementy wynikowej kolekcji geometrycznej; nie są spłaszczone.
Wartość SRID danych wyjściowych jest wspólną wartością SRID geometrii nie-wejściowychNone .
Wymiar danych wyjściowych jest maksymalnym wspólnym wymiarem geometrii niezwiązanychNone z danymi wejściowymi.
Jeśli tablica wejściowa jest pusta lub zawiera tylko None wartości, zwracana jest pusta kolekcja geometrii 2D. W takim przypadku identyfikator SRID danych wyjściowych jest określany w następujący sposób:
- Jeśli typem elementu tablicy wejściowej jest
GEOGRAPHY(ANY), identyfikator SRID danych wyjściowych to4326. - Jeśli typem elementu tablicy wejściowej jest
GEOMETRY(ANY), identyfikator SRID danych wyjściowych to0. - W przeciwnym razie identyfikator SRID danych wyjściowych jest typem elementu tablicy wejściowej.
Jeśli jakiekolwiek dwie geometrie niezwiązaneNone z danymi wejściowymi mają różne wartości SRID, funkcja zgłasza błąd ST_DIFFERENT_SRID_VALUES .
Funkcja zwraca None, jeśli dane wejściowe to None.
Examples
Zbiera tablicę punktów w wielu punktach.
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))')]
Zbiera tablicę wielokątów w wielopolygon.
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)))')]
Zbiera tablicę mieszanych rodzajów geometrii w kolekcji geometrycznej.
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))')]
Zwraca pustą kolekcję geometrii 2D dla pustej tablicy wejściowej.
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')]
Zwraca None dane wejściowe None .
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)]