Documentation Home
MySQL 8.0 参考手册  / 第 11 章数据类型  / 11.4 空间数据类型  /  11.4.4 几何的良构性和有效性

11.4.4 几何的良构性和有效性

对于几何值,MySQL 区分语法格式良好和几何有效的概念。

如果一个几何满足如下(非详尽)列表中的条件,则它在语法上是良构的:

  • 线串至少有两个点

  • 多边形至少有一个环

  • 多边形环是封闭的(第一个点和最后一个点相同)

  • 多边形环至少有 4 个点(最小多边形是第一个点和最后一个点相同的三角形)

  • 集合不为空(除了 GeometryCollection

如果一个几何在语法上格式正确并且满足如下(非详尽的)列表中的条件,那么它在几何上是有效的:

  • 多边形不自相交

  • 多边形内环在外环内

  • 多边形没有重叠的多边形

如果几何在语法上格式不正确,则空间函数将失败。解析 WKT 或 WKB 值的空间导入函数会在尝试创建语法格式不正确的几何时引发错误。还会检查句法格式是否正确,以尝试将几何图形存储到表中。

允许插入、选择和更新几何无效的几何图形,但它们必须在语法上格式正确。由于计算开销,MySQL 不会明确检查几何有效性。空间计算可能会检测到某些无效几何的情况并引发错误,但它们也可能会返回未定义的结果而不会检测到无效。需要几何有效几何图形的应用程序应使用该 ST_IsValid()函数检查它们。