Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks Runtime 18 LTS en hoger
Note
Databricks Runtime 18 is nieuwer dan Databricks Runtime 18.0, 18.1 en 18.2. Functies die eerder als een latere genummerde versie werden verzonden, worden nu verzonden als gedateerde updates voor Databricks Runtime 18. Zie Voor meer informatie over geïntegreerde releaseopmerkingen.
Belangrijk
Deze functie bevindt zich in openbare preview-versie.
Verzamelt een matrix met geografie - of geometriewaarden in één multipoint-, multilinestring-, multipolygon- of geometrieverzameling.
Voor de overeenkomstige Databricks SQL-functie, zie de st_collect functie.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.st_collect(col=<col>)
Parameters
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column of str |
Een matrix met geografiewaarden of een matrix met geometriewaarden . |
Returns
pyspark.sql.Column: Een geografie - of geometriewaarde , die een verzameling multipoints, multilinestring, multipolygon of geometrie vertegenwoordigt.
Alle None waarden in de invoermatrix worden genegeerd. Het type uitvoer is afhankelijk van de typen niet-invoergeometrieënNone :
- Als alle niet-elementen
Nonepunten zijn, wordt een multipoint geretourneerd. - Als alle niet-elementen
Nonelijnen zijn, retourneert u een multilinestring. - Als alle niet-elementen
Noneveelhoeken zijn, retourneert u een multipolygon. - Anders wordt een geometrieverzameling geretourneerd.
Elke uitvoer bevat één element per niet-matrixelementNone .
Invoer met meerdere typen (multipoint, multilinestring, multipolygon) en geometrieverzamelingsinvoer blijven behouden als elementen van de resulterende geometrieverzameling; ze zijn niet afgevlakt.
De SRID-waarde van de uitvoer is de gemeenschappelijke SRID-waarde van de niet-invoergeometrieënNone .
De dimensie van de uitvoer is de maximale gemeenschappelijke dimensie van de niet-invoergeometrieënNone .
Als de invoermatrix leeg is of alleen None waarden bevat, wordt de verzameling 2D lege geometrie geretourneerd. In dit geval wordt de SRID van de uitvoer als volgt bepaald:
- Als het elementtype van de invoermatrix is
GEOGRAPHY(ANY), is4326de SRID van de uitvoer . - Als het elementtype van de invoermatrix is
GEOMETRY(ANY), is0de SRID van de uitvoer . - Anders is de SRID van de uitvoer dat van het elementtype van de invoermatrix.
Als er twee niet-invoergeometrieënNone verschillende SRID-waarden hebben, veroorzaakt de functie een ST_DIFFERENT_SRID_VALUES fout.
De functie retourneert None als de invoer is None.
Examples
Verzamelt een matrix met punten in een multipoint.
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))')]
Verzamelt een matrix van veelhoeken in een 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)))')]
Verzamelt een matrix van gemengde geometrietypen in een geometrieverzameling.
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))')]
Retourneert de 2D lege geometrieverzameling voor een lege invoermatrix.
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')]
Retourneert None een None invoer.
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)]