Aller au contenu principal

st_nrings

S'applique à : coché oui Databricks Runtime 18.1 et versions ultérieures

info

Aperçu

La prise en charge des valeurs GEOGRAPHY est en aperçu public. La prise en charge des valeurs GEOMETRY est généralement disponible.

Renvoie le nombre total d'anneaux du polygone ou multipolygone d'entrée, y compris les anneaux extérieurs et intérieurs. Pour un multipolygone, retourne la somme de tous les anneaux de tous les polygones.

Pour la fonction Databricks SQL correspondante, consultez la fonctionst_nrings.

Syntaxe

Python
from pyspark.databricks.sql import functions as dbf

dbf.st_nrings(col=<col>)

parameter

parameter

Type

Description

col

pyspark.sql.Column OU str

Une valeur de géographie ou de géométrie.

parameter

Type

Description

col

pyspark.sql.Column OU str

Une valeur de géographie ou de géométrie.

Exemples

GÉOMÉTRIE de polygone 2D vide :

Python
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()
Output
[Row(result=0)]

POLYGON GÉOGRAPHIQUE 4D avec deux anneaux (un extérieur, un intérieur) :

Python
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()
Output
[Row(result=2)]

Vide multipolygone 3DZ GÉOMÉTRIE :

Python
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()
Output
[Row(result=0)]

GÉOGRAPHIE multipolygonale avec quatre anneaux sur deux polygones :

Python
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()
Output
[Row(result=4)]