ST_InteriorRingN
Applies to ❌ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
This function returns a linestring corresponding to the Nth interior ring (1-based) of a polygon geometry. For example:
create.select(stInteriorRingN( stGeomFromText(""" POLYGON ( (-3 -3, 3 -3, 3 3, -3 3, -3 -3), (-2 -2, 2 -2, 2 2, -2 2, -2 -2), (-1 -1, 1 -1, 1 1, -1 1, -1 -1) ) """) ), 1).fetch();
The result being, for example
+--------------------------------------------+ | ST_InteriorRingN | +--------------------------------------------+ | LINESTRING (-2 -2, 2 -2, 2 2, -2 2, -2 -2) | +--------------------------------------------+
Or, visually:
To get the total number of interior rings, use ST_NumInteriorRings.
Dialect support
This example using jOOQ:
stInteriorRingN(geometry, 1)
Translates to the following dialect specific expressions:
-- AURORA_MYSQL, AURORA_POSTGRES, COCKROACHDB, MARIADB, MYSQL, POSTGRES, REDSHIFT, SNOWFLAKE st_interiorringn(geometry, 1) -- ORACLE sdo_util.extract(geometry, 1, 1 + 1) -- SQLSERVER geometry.STInteriorRingN(1) -- ACCESS, ASE, BIGQUERY, DB2, DERBY, DUCKDB, EXASOL, FIREBIRD, H2, HANA, HSQLDB, INFORMIX, MEMSQL, SQLDATAWAREHOUSE, -- SQLITE, SYBASE, TERADATA, TRINO, VERTICA, YUGABYTEDB /* UNSUPPORTED */
(These are currently generated with jOOQ 3.19, see #10141), or translate your own on our website
Feedback
Do you have any feedback about this page? We'd love to hear it!