Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks Runtime 18.1 und höher
Von Bedeutung
Die Unterstützung für GEOGRAPHY-Werte ist in öffentlicher Vorschau verfügbar. Die Unterstützung für GEOMETRY-Werte ist allgemein verfügbar.
Gibt die Gesamtanzahl der Ringe des Eingabepolygons oder Multipolygons zurück, einschließlich Außen- und Innenringen. Gibt für ein Multipolygon die Summe aller Ringe über alle Polygone zurück.
Die entsprechende Databricks SQL-Funktion finden Sie unter st_nrings Funktion.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.st_nrings(col=<col>)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
col |
pyspark.sql.Column oder str |
Ein Geography- oder Geometry-Wert. |
Beispiele
Leere 2D-Polygongeometrie:
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POLYGON EMPTY',)], ['wkt'])
df.select(dbf.st_nrings(dbf.st_geomfromtext('wkt')).alias('result')).collect()
[Row(result=0)]
4D Polygon GEOGRAPHY mit zwei Ringen (ein äußerer, ein innerer):
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POLYGON ZM ((0 0 111 -11,10 0 222 -22,0 10 333 -33,0 0 444 -44),(1 1 555 -55,4 1 666 -66,1 4 777 -77,1 1 888 -88))',)], ['wkt'])
df.select(dbf.st_nrings(dbf.st_geogfromtext('wkt')).alias('result')).collect()
[Row(result=2)]
Leere 3DZ MultipolygonGEOMETRIE:
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('MULTIPOLYGON Z EMPTY',)], ['wkt'])
df.select(dbf.st_nrings(dbf.st_geomfromtext('wkt', 4326)).alias('result')).collect()
[Row(result=0)]
Multipolygon GEOGRAPHY mit vier Ringen über zwei Polygone:
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('MULTIPOLYGON (((0 0,10 0,10 10,0 10,0 0),(1 1,4 1,4 4,1 4,1 1),(5 5,6 5,6 6,5 6,5 5)),((20 20,30 20,30 30,20 30,20 20)))',)], ['wkt'])
df.select(dbf.st_nrings(dbf.st_geogfromtext('wkt')).alias('result')).collect()
[Row(result=4)]