MySQL 对空间数据库的支持

上传人:206****923 文档编号:37504730 上传时间:2018-04-17 格式:DOC 页数:4 大小:38.50KB
返回 下载 相关 举报
MySQL 对空间数据库的支持_第1页
第1页 / 共4页
MySQL 对空间数据库的支持_第2页
第2页 / 共4页
MySQL 对空间数据库的支持_第3页
第3页 / 共4页
MySQL 对空间数据库的支持_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《MySQL 对空间数据库的支持》由会员分享,可在线阅读,更多相关《MySQL 对空间数据库的支持(4页珍藏版)》请在金锄头文库上搜索。

1、MySQLMySQL 对空间数据库和空间数据类型的支持对空间数据库和空间数据类型的支持 班级:2 班 姓名:李鲲鹏 学号:201121029295 空间数据库指的是地理信息系统在计算机物理存储介质上存储的与应用相 关的地理空间数据的总和,一般是以一系列特定结构的文件的形式组织在存储 介质之上的。 地理特征指的是世界上具有地理位置的任何事物。它可以是:1:实体:如 山、池溏、城市;2.空间:如邮政区域、热带;3.可定义的位置:如两条街道相 交的十字路口。有些文件采用术语地理空间特征来指代地理特征。几何是另一 个表示地理特征的术语。最初,单词几何表示的是对大地的测量。来自制图学 的另一个含义指的是

2、制图人员用于绘制世界地图的地理特征。我们将几何定义 为世界上具有地理位置的点或点的集合。 1997 年,OpenGIS 联盟(OGC)发布了针对 SQL 的 OpenGIS简单特征规范, 在该文档中,提出了扩展 SQL RDBMS 以支持空间数据的一些概念性方法。遵从 OpenGIS 联盟(OGC)的规范,MySQL 实施了空间扩展。 MySQL 实施了 OGC 建议的具有 Geometry 类型的 SQL 环境的一个子集。该术 语指的是用一组集合类型扩展的环境。具有几何值的 SQL 列是作为拥有集合类 型的列实施的。该规范描述了 SQL 几何类型集合,以及作用在这些类型上用于 创建和分析几何

3、值的函数。 几何模型定义了:类 Geometry,类 Point,类 Curve,类 LineString,类 Surface,类 Polygon, 类 GeometryCollection, 类 MultiPoint, 类 MultiCurve, 类 MultiLineString,类 MultiSurface, 类 MultiPolygon。 Geometry 是层次结构的根类。它是一种非实例化类,但具有很多属性,这 些属性对由任何 Geometry 子类创建的所有几何值来说是共同的。 Point(点)指的是代表坐标空间中单个位置的几何类。想像一张具有众多城市的大世界地图。每个 Point

4、 对象可代表 1 个城市。在城市地图上,Point 对象可代表 1 个公共汽车站。 Curve(曲线)是一种 1 维几何对象,通常由一系列点表示。Curve 的特殊 子类定义了点之间的内插类型。Curve 是一种非实例化类。 LineString 是具有点之间线性内插特性的 Curve。在世界地图上, LineString 对象可表示河流。在城市地图上,LineString 对象可表示街道。 Surface 是一种 2 维几何对象。它是一种非实例化类。其唯一的可实例化 子类是 Polygon。 Polygon 是代表多边几何对象的平面 Surface。它由单个外部边界以及 0 或 多个内部边界

5、定义,其中,每个内部边界定义为 Polygon 中的 1 个孔。在地区 地图上,Polygon 对象可表示森林、区等。 类 GeometryCollection,GeometryCollection 是由 1 个或多个任意类几何 对象构成的几何对象。 MultiPoint 是一种由 Point 元素构成的几何对象集合。这些点未以任何方式连接或排序。在世界地图上,MultiPoint 可以代表岛链。在城市地图上, MultiPoint 可以表示售票处的出口。 MultiCurve 是一种由 Curve 元素构成的几何对象集合。MultiCurve 是一种 非实例化类。 MultiLineStri

6、ng 是一种由 LineString 元素构成的 MultiCurve 几何对象 集合。在地区地图上,MultiLineString 可表示河流体系或高速路系统。 MultiSurface 是一种由 Surface 元素构成的几何对象集合。MultiSurface 是一种非实例化类。其唯一的可实例化子类是 MultiPolygon。 MultiPolygon 是一种由 Polygon 元素构成的几何对象集合。在地区地图上, MultiPolygon 可表示湖泊系统。 MySQL 空间数据类型: GEOMETRY, POINT, LINESTRING, POLYGON GEOMETRY 能够保存

7、任何类型的几何值。其他的单值类型 POINT、LINESTRING 以及 POLYGON 只能保存特定几何类型的值。 其他数据类型能保存多个值: MULTIPOINT MULTILINESTRING MULTIPOLYGON GEOMETRYCOLLECTION GEOMETRYCOLLECTION 能保存任意类型的对象集合。对于其他集合类型, MULTIPOINT、MULTILINESTRING、MULTIPOLYGON 和 GEOMETRYCOLLECTION,仅限 于具有特定几何类型的集合成员。 创建空间列: MySQL 提供了为几何类型创建空间列的标准方法,例如,使用 CREATE T

8、ABLE 或 ALTER TABLE。目前,仅对 MyISAM 标支持空间列使用 CREATE TABLE 语 句创建具有空间列的表;使用 ALTER TABLE 语句在已有表中增加空间列,或将 空间列从已有表中删除。 填充空间列: 创建了空间列后,可用空间数据填充它们。 值应以内部几何格式保存,但你也能将其从 WKT 或 WKB 格式转换为内部几 何格式。在下面的示例中,介绍了通过将 WKT 值转换为内部几何格式以便将几 何值插入表中的方法。你可以在 INSERT 语句中执行直接转换操作: INSERT INTO geom VALUES (GeomFromText(POINT(1 1); S

9、ET g = POINT(1 1); INSERT INTO geom VALUES (GeomFromText(g); 也可以在 INSERT 之前执行转换操作: SET g = GeomFromText(POINT(1 1); INSERT INTO geom VALUES (g);在下面的示例中,将多个复杂的几何值插入到了表中: SET g = LINESTRING(0 0,1 1,2 2); INSERT INTO geom VALUES (GeomFromText(g); SET g = POLYGON(0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5

10、7, 5 5); INSERT INTO geom VALUES (GeomFromText(g); SET g =GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4); INSERT INTO geom VALUES (GeomFromText(g); 在前面的所有示例中,均采用了 GeomFromText()来创建几何值。你也可以 使用与类型相关的函数: SET g = POINT(1 1); INSERT INTO geom VALUES (PointFromText(g); SET g = LINESTRING(0

11、0,1 1,2 2); INSERT INTO geom VALUES (LineStringFromText(g); SET g = POLYGON(0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5); INSERT INTO geom VALUES (PolygonFromText(g); SET g =GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4); INSERT INTO geom VALUES (GeomCollFromText(g); 注意,如果客户端应用程序打算

12、使用几何值的 WKB 表示,它需要在队列中 将正确构造的 WKB 发送至服务器。但是,存在数种满足该要求的方法。例如: 用十六进制文字语法插入 POINT(1 1)值:mysql INSERT INTO geom VALUES - (GeomFromWKB(0x0101000000000000000000F03F000000000000F03F); ODBC 应用程序能够发送 WKB 表达式,并使用具有 BLOB 类型的参量将其绑 定到占位符: INSERT INTO geom VALUES (GeomFromWKB(?) 其他编程接口或许也支持类似的占位符机制。 获取空间数据 1. 以内部格

13、式获取空间数据 在表对表传输中,使用内部格式来获取几何值可能是有用的。 CREATE TABLE geom2 (g GEOMETRY) SELECT g FROM geom; 2. 以 WKT 格式获取空间数据 AsText()函数能够将几何值从内部格式转换为 WKT 字符串。 SELECT AsText(g) FROM geom; 3. 以格式获取空间数据AsBinary()函数能够将几何值从内部格式转换为包含 WKB 值的 BLOB。 SELECT AsBinary(g) FROM geom; 数据库因不同的应用要求会有各种各样的组织形式。数据库的设计就是根 据不同的应用目的和用户要求,在一个给定的应用环境中,确定最优的数据模 型、处理模式、存贮结构、存取方法,建立能反映现实世界的地理实体间信息 之间的联系,满足用户要求,又能被一定的 DBMS 接受,同时能实现系统目标并 有效地存取、管理数据的数据库。简言之,数据库设计就是把现实世界中一定 范围内存在着的应用数据抽象成一个数据库的具体结构的过程。空间数据库的 设计是指在现在数据库管理系统的基础上建立空间数据库的整个过程。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号