返回关于传入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_IsValid和ST_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)