STV_IsValidReason
确定空间对象的格式是否正确或其是否有效。如果对象无效,STV_IsValidReason 将返回说明无效性原因的字符串。
如果以下所有项均成立,则多边形或多边形集合是有效的:
-
多边形是封闭的;其起点与终点相同。
-
其边界是一组线串。
-
边界不触及或穿越本身。
-
与外部多边形边界的接触点不超过一个的任何内部多边形。
如果将无效的对象传递给 Vertica Place 函数,函数将会失败或返回错误的结果。要确定多边形是否有效,请先运行 ST_IsValid。如果多边形有效,ST_IsValid 将返回 TRUE,否则将返回 FALSE。
注意
如果将有效的多边形传递给 STV_IsValidReason,它将返回 NULL。行为类型
不可变语法
STV_IsValidReason( g )
参数
g
- 用于测试有效性的地理空间对象,其值类型为 GEOMETRY 或 GEOGRAPHY (WGS84)。
返回
LONG VARCHAR
支持的数据类型
示例
以下示例显示了 STV_IsValidReason 的用法。
返回描述多边形无效位置的字符串:
=> SELECT STV_IsValidReason(ST_GeomFromText('POLYGON((1 3,3 2,1 1,
3 0,1 0,1 3))'));
STV_IsValidReason
-----------------------------------------------
Ring Self-intersection at or near POINT (1 1)
(1 row)