STV_IsValidReason

确定空间对象的格式是否正确或其是否有效。如果对象无效,STV_IsValidReason 将返回说明无效性原因的字符串。

如果以下所有项均成立,则多边形或多边形集合是有效的:

  • 多边形是封闭的;其起点与终点相同。

  • 其边界是一组线串。

  • 边界不触及或穿越本身。

  • 与外部多边形边界的接触点不超过一个的任何内部多边形。

如果将无效的对象传递给 Vertica Place 函数,函数将会失败或返回错误的结果。要确定多边形是否有效,请先运行 ST_IsValid。如果多边形有效,ST_IsValid 将返回 TRUE,否则将返回 FALSE。

行为类型

不可变

语法

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)

另请参阅

ST_IsValid