适用于:
Databricks Runtime 17.3 及更高版本
重要
此功能目前以公共预览版提供。
返回输入多边形的第 n 个内环作为线字符串。
Syntax
st_interiorringn ( geoExpr, indexExpr )
Arguments
-
geoExpr:GEOGRAPHY或GEOMETRY值。 -
indexExpr:一个INTEGER值,表示多边形中线字符串的基于1的位置。
退货
以 1 为起始索引 indexExpr 处的多边形内环为闭合线串。 输出值与 geoExpr 具有相同的数据类型和 SRID。
注释
如果输入为 NULL.,则函数返回 NULL 。
错误条件
- 如果
geoExpr不是多边形,函数将返回 ST_INVALID_ARGUMENT。INVALID_TYPE。 - 如果
indexExpr无效(小于 1 或大于ST_NumInteriorRings(geoExpr)),则函数返回 ST_INVALID_ARGUMENT.INVALID_INDEX_VALUE
例子
-- Example taking a 2D polygon GEOMETRY with three interior rings.
> SELECT ST_AsEWKT(ST_NumInteriorRings(ST_GeomFromText('POLYGON((0 1,10 5,4 20,0 1),(3 12,9 7,5 13,3 12),(1 4,7 5,6 8,1 4),(3 6,4 11,2 10,3 6))', 3857), 3));
SRID=3857;LINESTRING(3 6,4 11,2 10,3 6)
-- Example taking a 3DM polygon GEOGRAPHY with two interior rings.
> SELECT ST_AsEWKT(ST_NumInteriorRings(ST_GeogFromText('POLYGON M ((0 1 111,10 5 222,4 20 333,0 1 444),(3 12 111,9 7 222,5 13 333,3 12 444),(1 4 111,7 5 222,6 8 333,1 4 444))'), 2));
SRID=4326;LINESTRING M (1 4 111,7 5 222,6 8 333,1 4 444)
-- Example taking a 4D polygon GEOMETRY with one interior ring.
> SELECT ST_AsEWKT(ST_NumInteriorRings(ST_GeomFromText('POLYGON ZM ((0 1 111 -11,10 5 222 -22,4 20 333 -33,0 1 444 -44),(3 12 111 -11,9 7 222 -22,5 13 333 -33,3 12 444 -44))'), 1));
LINESTRING ZM (3 12 111 -11,9 7 222 -22,5 13 333 -33,3 12 444 -44)