Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Geometry Well-Formedness and Validity

13.4.4 几何形状良好形成和有效性

对于几何值,MySQL 区分语法良好形成和几何有效性这两个概念。

几何形状是语法良好形成的,如果它满足以下条件(非详尽列表):

  • 线串至少有两个点

  • 多边形至少有一个环

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

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

  • 集合不能为空(除了 GeometryCollection

几何形状是几何有效的,如果它是语法良好形成的,并满足以下条件(非详尽列表):

  • 多边形不自相交

  • 多边形内部环在外部环内

  • 多多边形不重叠

空间函数如果几何形状不是语法良好形成的,将失败。空间导入函数在解析 WKT 或 WKB 值时,如果尝试创建不是语法良好形成的几何形状,将引发错误。语法良好形成也在尝试将几何形状存储到表格时进行检查。

允许插入、选择和更新几何无效的几何形状,但它们必须是语法良好形成的。由于计算开销很高,MySQL 不会明确检查几何有效性。空间计算可能检测到一些无效几何形状的案例,并引发错误,但它们也可能返回未定义的结果,而不检测无效性。需要几何有效几何形状的应用程序应该使用 ST_IsValid() 函数来检查。