spatial-function-argument-handling.md 2.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
### 12.17.2 空间函数的参数处理

空间值或几何图形具有在[第 11.4.2.2 节,“几何类”](gis-class-geometry.html).以下讨论列出了一般空间函数参数处理特性。特定函数或函数组可能具有额外或不同的参数处理特性,如在出现这些函数描述的部分中所讨论的。如果情况属实,这些描述优先于此处的一般性讨论。

空间函数仅针对有效的几何值定义。看[第 11.4.4 节,“几何格式良好和有效性”](geometry-well-formedness-validity.html).

每个几何值都与一个空间参考系统 (SRS) 相关联,这是一个基于坐标的地理位置系统。看[第 11.4.5 节,“空间参考系统支持”](spatial-reference-systems.html).

[](<>)

几何的空间参考标识符 (SRID) 标识定义几何的 SRS。在 MySQL 中,SRID 值是与几何值关联的整数。最大可用 SRID 值为 2<sup>32</sup>-1。如果给出更大的值,则仅使用低 32 位。

SRID 0 表示一个无限平坦的笛卡尔平面,其轴没有分配单位。要确保 SRID 0 的行为,请使用 SRID 0 创建几何值。如果未指定 SRID,则 SRID 0 是新几何值的默认值。对于多个几何值的计算,所有值必须在同一个 SRS 中,否则会发生错误。

因此,采用多个几何参数的空间函数要求这些参数位于同一个 SRS 中。如果空间函数返回ER_GIS_DIFFERENT_SRIDS[`,这意味着几何参数并不都在同一个 SRS 中。`](https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html#error_er_gis_different_srids)您必须修改它们以具有相同的 SRS。空间函数返回的几何位于几何参数的 SRS 中,因为任何空间函数生成的几何值都继承几何参数的 SRID。



开放地理空间联盟[准则要求输入多边形已经闭合,因此未闭合的多边形将被视为无效而被拒绝,而不是被闭合。](http://www.opengeospatial.org)在 MySQL 中,唯一有效的空几何以空几何集合的形式表示。

空几何集合处理如下:空的 WKT 输入几何集合可以指定为'几何集合()'`.`这也是产生空几何集合的空间操作产生的输出 WKT。在解析嵌套几何集合期间,集合被展平,其基本组件用于各种 GIS 操作以计算结果。

这为用户提供了额外的灵活性,因为不必担心几何数据的唯一性。嵌套几何集合可以从嵌套的 GIS 函数调用中生成,而不必首先显式展平。