开放地理空间联盟(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 空间扩展支持地理特征的生成、存储和分析:
表示空间值的数据类型
操作空间值的函数
用于改进对空间列的访问时间的空间索引
空间数据类型和函数可用于
MyISAM
、
InnoDB
、
NDB
和
ARCHIVE
表。用于索引空间列,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()
为LineString
MultiLineString
ST_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 。