返回关于传入Geometry对象是否为Valid的详细信息,如果不是,则输出原因及错误所在位置。

语法

validDetail  ST_IsValidDetail(geometry  geom);
validDetail  ST_IsValidDetail(geometry  geom , integer  flags);

参数

参数名称 描述
geom 目标Geometry对象。
flags 标记值。当为1时,视形成孔的自相交环是有效的。(即ESRI标志。)

描述

  • 返回一个valid_detail行,如果Geometry对象是无效的,则该行包含一个布尔值字段(Valid)表明Geometry对象的有效性,一个VARCHAR字段(reason )说明其无效的原因,一个Geometry字段(location)指出无效位置。
  • 该函数用于替代和改进ST_IsValidST_IsValidReason的组合,以生成无效几何的详细报告。

示例

SELECT (g).valid,(g).reason,st_astext((g).location) from (select ST_IsValidDetail('POLYGON((0 0,0 1,1 0,1 1,0 0))'::geometry) as g) as t;
 valid |      reason       |   st_astext
-------+-------------------+----------------
 f     | Self-intersection | POINT(0.5 0.5)
(1 row)