PostgreSQL空间数据库用途和发展 赵欣胜

上传人:豆浆 文档编号:53629898 上传时间:2018-09-03 格式:PPTX 页数:37 大小:4.70MB
返回 下载 相关 举报
PostgreSQL空间数据库用途和发展 赵欣胜 _第1页
第1页 / 共37页
PostgreSQL空间数据库用途和发展 赵欣胜 _第2页
第2页 / 共37页
PostgreSQL空间数据库用途和发展 赵欣胜 _第3页
第3页 / 共37页
PostgreSQL空间数据库用途和发展 赵欣胜 _第4页
第4页 / 共37页
PostgreSQL空间数据库用途和发展 赵欣胜 _第5页
第5页 / 共37页
点击查看更多>>
资源描述

《PostgreSQL空间数据库用途和发展 赵欣胜 》由会员分享,可在线阅读,更多相关《PostgreSQL空间数据库用途和发展 赵欣胜 (37页珍藏版)》请在金锄头文库上搜索。

1、PostgreSQL空间数据库 用途和发展,自由,开源,免费,中国林业科学研究院湿地研究所,认识数据库,数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。Access、MYSQL、FoxPro、Oracle、Sybase 空间数据库(spatial database)是地理信息系统在计算机物理存储介质上存储的与应用相关的地理空间数据的总和,用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的数据。它可以用来描述来自现实世界的目标,它具有定位、定性、时

2、间和空间关系等特性,适用于描述所有呈二维、三维甚至多维分布的关于区域的现象,空间数据不仅能够表示实体本身的空间位置及形态信息,而且还有表示实体属性和空间关系(如拓扑关系)的信息。一般是以一系列特定结构的文件的形式组织在存储介质之上的。传统数据库系统只针对简单对象,无法有效的支持复杂对象(如图形、图像)。,GIS Data,数字工程,数字终端,数字小区、数字城市、数字地球 数字保护区、数字生态站 ,汇报提纲,一、认识PostgreSQL(PSQL) 二、PostgreSQL优点和用途 三、PostgreSQL展示 四、PostgreSQL发展前景,一、认识 PostgreSQL,一、认识 Pos

3、tgreSQL,PostgreSQL是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、特性最丰富和最复杂的自由软件空间数据库系统。它起源于伯克利(BSD)的数据库研究计划,目前是最重要的开源数据库产品开发项目之一, 有着非常广泛的用户。 在PostgreSQL中已经定义了一些基本的集合实体类型,这些类型包括:点(POINT)、线(LINE)、线段(LSEG)、方形(BOX)、多边形(POLYGON)和圆(CIRCLE)等;另外,PostgreSQL定义了一系列的函数和操作符来实现几何类型的操作和运算;同时,PostgreSQL引入空间数据索引R-tree。 PostGIS是

4、对象关系型数据库系统PostgreSQL的一个扩展。 PostGIS可以提供空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。,二、PostgreSQL优点和用途,PostgreSQL 介绍,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。能在多平台下-包括Linux、FreeBSD和Windows等-运行,并且支持多语言的开发。在两大开源数据库产品的对比中,一般认为MySQL速度更快,所以得到更为广泛的使用;而PostgreSQL性能更为先进,PostgreSQL 提供很多 MySQL 目前所不支持的如

5、触发器、视图、存储过程等功能,在记录数超千万之后性能表现尤其出色。,PostgreSQL 介绍,PostGIS遵循OpenGIS的规范。 http:/ 基于空间对象库GEOS和空间投影库PROJ.4开发 支持桌面GIS软件:GRASS, QGIS, uDig, JUMP 支持中间件服务器:MapServer, GeoServer等 支持开发库:GeoTools, OGR ESRI ArcGIS 10 支持PostGIS空间数据类型,自由、开源、免费,适用的行业和人群,司机 最近加油站在哪,附近有没有餐馆(GPS) 军队指挥家 敌军动向(电子沙盘) 公司供货经理 新的物流仓库和零售店应建在什么地

6、方(选址) 环境专家 该地区的总体环境评价(多因素多因子空间叠置分析) 交通专家 路网建设怎样能改善交通状况(网络分析) 应急服务 求助人的位置?最佳路线怎么走(最短路径分析) 停车场 附近有哪些停车场,有多少空位(GPS+LBS) 突发公共卫生事件 感染源在哪里?带有5000m缓冲的隔离区,发生原因及趋势(空间自相关空间分析) 湿地保护 湿地监测、面积变化、生物活动等 ,空间数据库能做什么,空间数据库典型实例卫星影像存储,要求(时间序列,大存储量)(NASA,QuickBird,Google Earth,Google Map)车辆GPS 监管土地部门规划管理 传统数据库列出某市销售额最高的十

7、家分店 空间数据库列出附近1000范围内的所有超市找出附近500m内有学校的所有售房,一维,二维,三、PostgreSQL展示,3.1 PostGIS读写数据方式,读写PostGIS目前主要有以下四种方式: 1.使用psql语言Psql语言是PostgreSQL内嵌的一个命令行工具,其语法基本上和标准的SQL语法是一致的,可以使用Psql工具,结合标准SQL语法和一些PostGIS的扩展对PostGIS数据库进行读写操作。 2.使用小工具( shp2pg、ogr2ogr )shp2pgsql和pgsql2shp是PostGIS自身携带的一对在Shape文件和PostGIS数据库之间进行转换的工

8、具。 3.在其他GIS软件中读写PostGIS数据比如在QGIS中,能够打开PostGIS图层,还有SPIT插件可以把Shape文件输入到PostGIS数据库中。,3.1 PostGIS读写数据方式,4.利用接口在应用程序中读写PostGIS数据广大的开源GIS,程序员几乎为每一种程序设计语言设计好了读写PostGIS的接口,如利用PostgreSQL的JDBC库,可以使用Java语言在程序中读写PostGIS数据;利用libpq库,可以使用C/C+语言读写PostGIS数据。,3.2 实现PostGIS数据管理及操作,1.数据准备(利用shp2pg 工具) 运行命名提示符cmd.exe,可以

9、用批处理操作。 将shp生成对应的sql脚本 执行sql语句,执行该SQL语句文件,导入数据到数据库中。,3.2 实现PostGIS数据管理及操作,在应用程序中读写PostGIS数据,3.2 实现PostGIS数据管理及操作,连接数据库 bool ConnectDB(CString _host,CString _dbname,CString _user,CString _password);,3.2 实现PostGIS数据管理及操作,访问数据库(执行SQL操作) void OperateData(CString sql); /执行postgis数据访问操作,3.2 实现PostGIS数据管理及

10、操作,尽管在PostgreSQL提供了上述几项支持空间数据的特性,但其提供的空间特性很难达到GIS的要求,主要表现在:缺乏复杂的空间类型;没有提供空间分析;没有提供投影变换功能。为了使得PostgreSQL更好的提供空间信息服务,PostGIS应运而生。,3.3 PostGIS空间数据类型,除了OpenGIS定义的地理数据类型之外,PostGIS还对数据类型进行了扩展,这种扩展主要是两方面的扩展:一是把二维的数据向三维和四维扩展;二是在WKT和WKB数据类型基础上扩展出EWKT和EWKB数据类型。EWKT, EWKB(包含了SRID信息的WKT/WKB)SRID(Spatial Referen

11、cing System Identifier):每个空间实例都有一个空间引用标识符 (SRID)。SRID 对应于基于特定椭圆体的空间引用系统,可用于平面球体映射或圆球映射。空间列可包含具有不同 SRID 的对象。,3.4 PostGIS函数,PostGIS函数大致可以分为以下四类: 1. 字段处理函数AddGeometryColumn为已有的数据表增加一个地理几何数据字段;DropGeometryColumn删除一个地理数据字段的;SetSRID设置SRID值 2. 几何关系函数这类函数目前共有10个,分别是:Distance,Equals,Disjoint,Intersects, Touc

12、hes Crosses, Within, Overlaps, Contains, Relate ,3.4 PostGIS函数,3. 几何分析函数这类函数目前共有12个,分别是:Centroid, Area, Lenth, PointOnSurface, Boundary, Buffer, ConvexHull, Intersection, SymDifference, Difference, GeomUnion, MemGeomUnion。 4. 读写函数这类函数很多,主要是用于在各种数据类型之间的转换,尤其是在于Geometry数据类型与其他如字符型等数据类型之间的转换,函数名如AsText

13、、GeomFromText等。,3.5 PostGIS拓展功能,1. 数据库坐标变换数据库中的几何类型可以通过Transform函数从一种投影系变换到另一种投影系中。在OpenGIS中的几何类型都将SRID作为自身结构的一部分,但不知什么原因,在OpenGIS的SFSQL规范中,并没有引入Transform。2. 球体长度运算存储在普通地理坐标系中的集合类型如果不进行坐标变换是无法进行程度运算的,OpenGIS所提供的坐标变换使得积累类型的程度计算变成可能。,3.5 PostGIS拓展功能,3. 三维的几何类型SFSQL规范只是针对二维集合类型。OpenGIS提供了对三维集合类型的支持,具体是

14、利用输入的集合类型维数来决定输出的表现方式。例如,即便所有几何对象内部都以三维形式存储,纯粹的二维交叉点通常还是以二维的形式返回。此外,还提供几何对象在不同维度间转换的功能。 4. 空间聚集函数在数据库中,聚集函数是一个执行某一属性列所有数据操作的函数。比如Sum和Average,Sum是求某一关系属性列的数据总和,Average则是求取某一关系属性列的数据平均值。与此对应,空间聚集函数也是执行相同的操作,不过操作的对象是空间数据。例如聚集函数Extent返回一系列要素中的最大的包裹矩形框,如“SELECT EXTENT(GEOM) FROM ROADS”这条SQL语句的执行结果是返回ROAD

15、S这个数据表中所有的包裹矩形框。,3.5 PostGIS拓展功能,5. 栅格数据类型PostGIS通过一种新的数据类型片,提供对于大的栅格数据对象的存储。片由以下几个部分组成:包裹矩形框、SRID、类型和一个字节序列。通过将片的大小控制在数据库页值(3232)以下,使得快速的随即访问变成可能。一般大的图片也是通过将其切成3232像素的片然后再存储在数据库中的。,案例1:自然保护区数据库,案例2:网络地图,案例3:网络地图,生态定位站?,四、PostgreSQL发展,四、PostgreSQL发展,目前,软件开源已经成为IT界的一种发展趋势,越来越多的软件加入到开源系统中。PostgreSQL拥有

16、一支非常活跃的开发队伍,目前的提交人员已经超过三十人, 而且在许多黑客的努力下,PostgreSQL 的质量日益提高,也从另外一个侧面上增加了人们使用 PostgreSQL 的信心。PostGIS不论在功能还是扩展性方面都不落后于商业GIS平台的空间数据库,而且由于其源代码的公开性,更加容易吸引广大爱好者参与到PostGIS的开发中,不断完善现有的功能同时进一步扩展新的特性,相信PostGIS的发展前景将会非常美好。,四、PostgreSQL发展,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如联机热备份,数据库集群,更优良的管理工具和更加自动化的系统优化功能等提高数据库性能的机制等。 PostgreSQL 拥有极其强大的扩展能力,你可以很容易地扩展数据类型,内部函数,聚集,操作符等等。拥有所有的源程序,理论上你可以做任何你可以做的事情。因此,很多缺点,在转瞬之间就会消失也是很正常的。,免费 易上手 开源自由 拿来主义 可以“山寨”,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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