MySQL 8.0 参考手册  / 第 11 章数据类型  /  11.4 空间数据类型

11.4 空间数据类型

开放地理空间联盟(OGC) 是一个由 250 多家公司、机构和大学组成的国际联盟,参与开发公开可用的概念解决方案,这些解决方案可用于管理空间数据的各种应用程序 。

Open Geospatial Consortium 发布了 OpenGIS® Implementation Standard for Geographic information - Simple Feature Access - Part 2: SQL Option,该文档提出了几种扩展 SQL RDBMS 以支持空间数据的概念性方法。该规范可从 OGC 网站 http://www.opengeospatial.org/standards/sfs获得。

遵循 OGC 规范,MySQL 将空间扩展作为SQL with Geometry Types环境的一个子集来实​​现。该术语指的是已使用一组几何类型进行扩展的 SQL 环境。几何值 SQL 列被实现为具有几何类型的列。该规范描述了一组 SQL 几何类型,以及这些类型上用于创建和分析几何值的函数。

MySQL 空间扩展支持地理特征的生成、存储和分析:

  • 表示空间值的数据类型

  • 操作空间值的函数

  • 用于改进对空间列的访问时间的空间索引

空间数据类型和函数可用于 MyISAMInnoDBNDBARCHIVE表。用于索引空间列,MyISAM同时InnoDB 支持SPATIAL和非SPATIAL索引。其他存储引擎支持非SPATIAL索引,如 第 13.1.14 节“CREATE INDEX 语句”中所述。

地理特征是世界上任何具有位置的事物 。一个特征可以是:

  • 一个实体。例如,一座山,一座池塘,一座城市。

  • 空间。例如,城镇区,热带地区。

  • 一个可定义的位置。例如,十字路口,作为两条街道相交的特定位置。

一些文档使用术语地理空间特征来指代地理特征。

几何是表示地理特征的另一个词。最初, 几何这个词的意思是测量地球。另一个含义来自制图学,指的是制图师用来绘制世界地图的几何特征。

此处的讨论将这些术语视为同义词: 地理特征地理空间特征特征几何。最常用的术语是几何,定义为 一个点或一组点,代表世界上任何具有位置的事物

以下材料涵盖了这些主题:

  • MySQL 模型中实现的空间数据类型

  • OpenGIS 几何模型中空间扩展的基础

  • 表示空间数据的数据格式

  • 如何在 MySQL 中使用空间数据

  • 空间数据索引的使用

  • MySQL 与 OpenGIS 规范的差异

有关对空间数据进行操作的函数的信息,请参阅 第 12.17 节,“空间分析函数”

MySQL GIS 一致性和兼容性

MySQL 不实现以下 GIS 功能:

  • 额外的元数据视图

    OpenGIS 规范提出了几个额外的元数据视图。例如,名为 的系统视图 GEOMETRY_COLUMNS包含几何列的描述,一行对应数据库中的每个几何列。

  • OpenGIS 函数和 应该在 MySQL 中调用Length()LineStringMultiLineStringST_Length()

    问题是现有的 SQL 函数 Length()可以计算字符串值的长度,有时无法区分该函数是在文本上下文还是空间上下文中调用的。

其他资源

Open Geospatial Consortium 发布了 OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 2: SQL option,该文档提出了几种扩展 SQL RDBMS 以支持空间数据的概念性方法。开放地理空间联盟 (OGC) 维护着一个网站,网址为 http://www.opengeospatial.org/。该规范可在 http://www.opengeospatial.org/standards/sfs获得。它包含与此处材料相关的附加信息。

如果您对使用 MySQL 的空间扩展有疑问或疑虑,可以在 GIS 论坛中进行讨论: https ://forums.mysql.com/list.php?23 。