ST_ISVALID
📄字数 549
👁️阅读量 加载中...
功能描述
根据 OGC 规则测试 ST_Geometry 值在 2D 中是否格式良好且有效。
语法格式
sql
BOOLEAN ST_ISVALID(GEOMETRY g);
BOOLEAN ST_ISVALID(GEOMETRY g, INTEGER flags);参数说明
- g:目标 GEOMETRY 对象;
- flags:标志参数。具有以下值:
- 0:使用常用的 OGC SFS 有效性语义。
- 1:考虑某些类型的自接触环(倒壳和倒孔)是有效的。 即ESRI 标志,因为这是这些工具使用的有效性模型。 注意,这在 OGC 模型下是无效的。
函数返回类型
BOOLEAN 类型
使用说明
- 对于 3 维和 4 维几何形状,有效性仍然仅在 2 维中进行测试。
- 对于无效的几何图形,会提供其无效原因的详细信息。
- 该函数是由 GEOS 模块执行的。
- 此方法实现了 SQL 1.1 的 OGC 简单功能规范。
- 该方法实现了SQL/MM规范。 SQL-MM 3: 5.1.9
示例
sql
SQL> SELECT ST_ISVALID(ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)')) As good_line,
ST_ISVALID(ST_GEOMFROMTEXT('POLYGON((0 0, 1 1, 1 2, 1 1, 0 0))')) As bad_poly;
+-----------+----------+
| GOOD_LINE | BAD_POLY |
+-----------+----------+
| T | F |
+-----------+----------+
Warnning: [E23015] Spatial Error: Ring Self-intersection at or near point 1 1