返回關于傳入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)