11.4 空间数据类型

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

开放地理空间协会发布了*OpenGIS®地理信息实施标准-简单要素访问-第 2 部分:SQL Option *,该文档提出了几种扩展 SQL RDBMS 以支持空间数据的概念性方法。该规范可从 OGC 网站http://www.opengeospatial.org/standards/sfs获得。

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

MySQL 空间扩展可实现地理 Feature 的生成,存储和分析:

  • table 示空间值的数据类型

  • 操纵空间值的功能

  • 空间索引可缩短对空间列的访问时间

空间数据类型和功能可用于MyISAMInnoDBNDBARCHIVEtable。对于空间列的索引,MyISAMInnoDB支持SPATIAL和非SPATIAL索引。其他存储引擎支持非SPATIAL索引,如第 13.1.14 节“ CREATE INDEX 语句”中所述。

地理 Feature 是世界上任何具有位置的东西。功能可以是:

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

  • 空间。例如,市区,热带 locale。

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

一些文档使用术语“地理空间 Feature”来指代地理 Feature。

几何 是 table 示地理 Feature 的另一个词。最初,“几何”一词是指对地球的测量。制图的另一种含义是指制图人员用来绘制世界 Map 的几何 Feature。

此处的讨论将这些术语视为同义词: 地理 Feature空间 FeatureFeature几何 。最常用的术语是几何,定义为一个点或点的集合,table 示世界上任何具有位置的东西*。

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

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

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

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

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

  • 使用索引进行空间数据

  • MySQL 与 OpenGIS 规范的差异

有关对空间数据进行操作的功能的信息,请参见第 12.16 节“空间分析功能”

MySQL GIS 一致性和兼容性

MySQL 不实现以下 GIS 功能:

  • 其他元数据视图

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

  • LineStringMultiLineString上的 OpenGIS 函数Length()在 MySQL 中应被称为ST_Length()

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

Additional Resources

开放地理空间协会发布了OpenGIS®地理信息实施标准-简单要素访问-第 2 部分:SQL 选项,该文档提出了几种扩展 SQL RDBMS 以支持空间数据的概念性方法。开放地理空间 union(OGC)在http://www.opengeospatial.org/维护一个网站。该规范位于http://www.opengeospatial.org/standards/sfs处。它包含与此处材料相关的其他信息。

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