st_nrings

Gäller för:kryssmarkerad ja Databricks Runtime 18.1 och senare

Viktigt!

Stöd för GEOGRAPHY-värden finns i offentlig förhandsversion. Stöd för GEOMETRI-värden är allmänt tillgängligt.

Returnerar det totala antalet ringar av indatapolygonen eller multipolygonen, inklusive yttre och inre ringar. För en multipolygon returnerar summan av alla ringar i alla polygoner.

För motsvarande Databricks SQL-funktion, se st_nrings funktion.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.st_nrings(col=<col>)

Parameters

Parameter Type Beskrivning
col pyspark.sql.Column eller str Ett geografi eller geometrivärde.

Exempel

Tom 2D-polygongeometri

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 GEOMETRI med två ringar (en yttre, en inre):

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)]

Tom 3DZ-geometri för flerapolygoner:

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)]

Geografi för flerapolygoner med fyra ringar över två polygoner:

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)]