13.4 空间数据类型
Open Geospatial Consortium(OGC)是一个国际组织,超过250家公司、机构和大学参与其开发,旨在解决各种应用程序管理空间数据的问题。
OGC发布了《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环境的子集。这一术语指的是一个已被扩展了geometry类型的SQL环境。geometry值的SQL列实现为一个具有geometry类型的列。规范描述了一组SQL geometry类型,以及对这些类型的函数,以创建和分析geometry值。
MySQL空间扩展使得生成、存储和分析地理特征成为可能:
-
表示空间值的数据类型
-
操作空间值的函数
-
空间索引,以提高对空间列的访问速度
空间数据类型和函数对MyISAM
、InnoDB
、NDB
和ARCHIVE
表可用。对于索引空间列,MyISAM
和InnoDB
支持SPATIAL
和非SPATIAL
索引。其他存储引擎支持非SPATIAL
索引,详见Section 15.1.15,“CREATE INDEX Statement”。
一个地理特征是指世界上任何具有位置的实体。特征可以是:
-
实体。例如,山、湖泊、城市。
-
空间。例如,市区、热带。
-
定义的位置。例如,十字路口,因为两个街道的交叉点。
一些文档使用地理空间特征来指代地理特征。
几何学是另一个词语,指代地理特征。最初的词语几何学指的是地球测量。另一个含义来自地图学,指的是地图学家使用的几何学特征来绘制世界的地图。
本讨论中认为这些术语是同义的:地理特征、地理空间特征、特征或几何学。最常用的术语是几何学,定义为:一个点或一组点,表示世界上任何具有位置的实体。
以下内容涵盖了这些主题:
-
MySQL中实现的空间数据类型模型
-
OpenGIS几何学模型的基础
-
表示空间数据的格式
-
如何在MySQL中使用空间数据
-
空间数据的索引使用
-
MySQL与OpenGIS规范的差异
关于操作空间数据的函数,请见Section 14.16,“Spatial Analysis Functions”。
这些标准对于MySQL实现空间操作是非常重要的:
-
SQL/MM Part 3: 空间。
-
Open Geospatial Consortium(OGC)发布了《OpenGIS® Implementation Standard for Geographic information》一份文件,该文件提出了多种概念方法来扩展SQL关系数据库管理系统以支持空间数据。特别是,见《Simple Feature Access - Part 1: Common Architecture》和《Simple Feature Access - Part 2: SQL Option》。OGC维护的网站是:http://www.opengeospatial.org/。该规范在该网站上可用:http://www.opengeospatial.org/standards/sfs。该文件包含了与这里的材料相关的额外信息。
-
空间参考系统(SRS)定义的语法基于《OpenGIS Implementation Specification: Coordinate Transformation Services》Revision 1.00,OGC 01-009,2001年1月12日,第7.2节。这一规范在:http://www.opengeospatial.org/standards/ct。在MySQL中实现SRS定义的差异见:第15.1.19节,“CREATE SPATIAL REFERENCE SYSTEM Statement”。
如果您对MySQL空间扩展的使用有任何问题或疑问,可以在GIS论坛中讨论:https://forums.mysql.com/list.php?23。