MySQL对空间数据库的支持

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

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

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

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

3、类Polygon, 类GeometryCollection, 类MultiPoint, 类MultiCurve, 类MultiLineString,类MultiSurface, 类MultiPolygon。Geometry是层次结构的根类。它是一种非实例化类,但具有很多属性,这些属性对由任何Geometry子类创建的所有几何值来说是共同的。Point(点)指的是代表坐标空间中单个位置的几何类。想像一张具有众多城市的大世界地图。每个Point对象可代表1个城市。在城市地图上,Point对象可代表1个公共汽车站。Curve(曲线)是一种1维几何对象,通常由一系列点表示。Curve的特殊子类定义了点

4、之间的内插类型。Curve是一种非实例化类。LineString是具有点之间线性内插特性的Curve。在世界地图上,LineString对象可表示河流。在城市地图上,LineString对象可表示街道。Surface是一种2维几何对象。它是一种非实例化类。其唯一的可实例化子类是Polygon。Polygon是代表多边几何对象的平面Surface。它由单个外部边界以及0或多个内部边界定义,其中,每个内部边界定义为Polygon中的1个孔。在地区地图上,Polygon对象可表示森林、区等。类GeometryCollection,GeometryCollection是由1个或多个任意类几何对象构成的

5、几何对象。MultiPoint是一种由Point元素构成的几何对象集合。这些点未以任何方式连接或排序。在世界地图上,MultiPoint可以代表岛链。在城市地图上,MultiPoint可以表示售票处的出口。MultiCurve是一种由Curve元素构成的几何对象集合。MultiCurve是一种非实例化类。MultiLineString是一种由 LineString元素构成的MultiCurve几何对象集合。在地区地图上,MultiLineString可表示河流体系或高速路系统。MultiSurface是一种由Surface元素构成的几何对象集合。MultiSurface是一种非实例化类。其唯一

6、的可实例化子类是MultiPolygon。MultiPolygon是一种由Polygon元素构成的几何对象集合。在地区地图上,MultiPolygon可表示湖泊系统。MySQL空间数据类型:GEOMETRY, POINT, LINESTRING, POLYGONGEOMETRY能够保存任何类型的几何值。其他的单值类型POINT、LINESTRING以及POLYGON只能保存特定几何类型的值。其他数据类型能保存多个值:MULTIPOINTMULTILINESTRING MULTIPOLYGONGEOMETRYCOLLECTIONGEOMETRYCOLLECTION能保存任意类型的对象集合。对于其

7、他集合类型,MULTIPOINT、MULTILINESTRING、MULTIPOLYGON和GEOMETRYCOLLECTION,仅限于具有特定几何类型的集合成员。创建空间列:MySQL提供了为几何类型创建空间列的标准方法,例如,使用CREATE TABLE或ALTER TABLE。目前,仅对MyISAM标支持空间列使用CREATE TABLE语句创建具有空间列的表;使用ALTER TABLE语句在已有表中增加空间列,或将空间列从已有表中删除。填充空间列:创建了空间列后,可用空间数据填充它们。值应以内部几何格式保存,但你也能将其从WKT或WKB格式转换为内部几何格式。在下面的示例中,介绍了通过

8、将WKT值转换为内部几何格式以便将几何值插入表中的方法。你可以在INSERT语句中执行直接转换操作:INSERT INTO geom VALUES (GeomFromText(POINT(1 1);SET 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

9、 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 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()来创建几何值。你也可以使用与类型相关的函数:

10、SET g = POINT(1 1);INSERT INTO geom VALUES (PointFromText(g);SET g = LINESTRING(0 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,

11、1 1,2 2,3 3,4 4);INSERT INTO geom VALUES (GeomCollFromText(g);注意,如果客户端应用程序打算使用几何值的WKB表示,它需要在队列中将正确构造的WKB发送至服务器。但是,存在数种满足该要求的方法。例如:用十六进制文字语法插入POINT(1 1)值:mysql INSERT INTO geom VALUES03F000000000000F03F);ODBC应用程序能够发送WKB表达式,并使用具有BLOB类型的参量将其绑定到占位符:INSERT INTO geom VALUES (GeomFromWKB(?)其他编程接口或许也支持类似的占位

12、符机制。获取空间数据1. 以内部格式获取空间数据在表对表传输中,使用内部格式来获取几何值可能是有用的。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号