ST_ISVALIDDETAIL
📄字数 552
👁️阅读量 加载中...
功能描述
返回一个 VALID_DETAIL 行,说明几何图形是否有效,说明原因和位置。
语法格式
sql
VALID_DETAIL ST_ISVALIDDETAIL(GEOMETRY geom, INTEGER flags);参数说明
- geom:目标 GEOMETRY 对象;
- flags:标志参数。具有以下值:
- 0:使用常用的 OGC SFS 有效性语义。
- 1:考虑某些类型的自接触环(倒壳和倒孔)是有效的。 即ESRI 标志,因为这是这些工具使用的有效性模型。 注意,这在 OGC 模型下是无效的。
函数返回类型
VALID_DETAIL 自定义类型:
| 字段 | 类型 | 描述 |
|---|---|---|
| VALID | BOOLEAN | 是否有效 |
| REASON | VARCHAR | 说明其无效原因 |
| LOCATION | GEOMETRY | 指出其无效位置 |
使用说明
- 有助于改进 ST_ISVALID 和 ST_ISVALIDREASON 的组合,以生成无效几何的详细报告。
- 对于无效的几何图形,会提供其无效原因的详细信息。
- 该函数是由 GEOS 模块执行的。
示例
sql
SQL> SELECT VALID, REASON, TO_CHAR(ST_AsText(LOCATION)) FROM TABLE(select ST_IsValidDetail('POLYGON((0 0,0 1,1 0,1 1,0 0))'::geometry) );
+-------+-------------------+----------------+
| VALID | REASON | EXPR1 |
+-------+-------------------+----------------+
| F | Self-intersection | POINT(0.5 0.5) |
+-------+-------------------+----------------+