Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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 类型

使用说明

  1. 对于 3 维和 4 维几何形状,有效性仍然仅在 2 维中进行测试。
  2. 对于无效的几何图形,会提供其无效原因的详细信息。
  3. 该函数是由 GEOS 模块执行的。
  4. 此方法实现了 SQL 1.1 的 OGC 简单功能规范。
  5. 该方法实现了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