PostgreSQL空间数据库用途和发展赵欣胜.pptx_第1页
PostgreSQL空间数据库用途和发展赵欣胜.pptx_第2页
PostgreSQL空间数据库用途和发展赵欣胜.pptx_第3页
PostgreSQL空间数据库用途和发展赵欣胜.pptx_第4页
PostgreSQL空间数据库用途和发展赵欣胜.pptx_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PostgreSQL空间数据库 用途和发展,自由,开源,免费,中国林业科学研究院湿地研究所,认识数据库,数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。Access、MYSQL、FoxPro、Oracle、Sybase 空间数据库(spatial database)是地理信息系统在计算机物理存储介质上存储的与应用相关的地理空间数据的总和,用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的数据。它可以用来描述来自现实世界的目标,它具有定位、定性、时间和空间关系等特性,适用于描述所有呈二维、三维甚至多维分布的关于区域的现象,空间数据不仅能够表示实体本身的空间位置及形态信息,而且还有表示实体属性和空间关系(如拓扑关系)的信息。一般是以一系列特定结构的文件的形式组织在存储介质之上的。传统数据库系统只针对简单对象,无法有效的支持复杂对象(如图形、图像)。,GIS Data,数字工程,数字终端,数字小区、数字城市、数字地球 数字保护区、数字生态站 ,汇报提纲,一、认识PostgreSQL(PSQL) 二、PostgreSQL优点和用途 三、PostgreSQL展示 四、PostgreSQL发展前景,一、认识 PostgreSQL,一、认识 PostgreSQL,PostgreSQL是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、特性最丰富和最复杂的自由软件空间数据库系统。它起源于伯克利(BSD)的数据库研究计划,目前是最重要的开源数据库产品开发项目之一, 有着非常广泛的用户。 在PostgreSQL中已经定义了一些基本的集合实体类型,这些类型包括:点(POINT)、线(LINE)、线段(LSEG)、方形(BOX)、多边形(POLYGON)和圆(CIRCLE)等;另外,PostgreSQL定义了一系列的函数和操作符来实现几何类型的操作和运算;同时,PostgreSQL引入空间数据索引R-tree。 PostGIS是对象关系型数据库系统PostgreSQL的一个扩展。 PostGIS可以提供空间信息服务功能: 空间对象、空间索引、空间操作函数和空间操作符。,二、PostgreSQL优点和用途,PostgreSQL 介绍,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。能在多平台下-包括Linux、FreeBSD和Windows等-运行,并且支持多语言的开发。 在两大开源数据库产品的对比中,一般认为MySQL速度更快,所以得到更为广泛的使用;而PostgreSQL性能更为先进,PostgreSQL 提供很多 MySQL 目前所不支持的如触发器、视图、存储过程等功能,在记录数超千万之后性能表现尤其出色。,PostgreSQL 介绍,PostGIS遵循OpenGIS的规范。 基于空间对象库GEOS和空间投影库PROJ.4开发 支持桌面GIS软件:GRASS, QGIS, uDig, JUMP 支持中间件服务器:MapServer, GeoServer等 支持开发库:GeoTools, OGR ESRI ArcGIS 10 支持PostGIS空间数据类型,自由、开源、免费,适用的行业和人群,司机 最近加油站在哪,附近有没有餐馆(GPS) 军队指挥家 敌军动向(电子沙盘) 公司供货经理 新的物流仓库和零售店应建在什么地方(选址) 环境专家 该地区的总体环境评价(多因素多因子空间叠置分析) 交通专家 路网建设怎样能改善交通状况(网络分析) 应急服务 求助人的位置?最佳路线怎么走(最短路径分析) 停车场 附近有哪些停车场,有多少空位(GPS+LBS) 突发公共卫生事件 感染源在哪里?带有5000m缓冲的隔离区,发生原因及趋势(空间自相关空间分析) 湿地保护 湿地监测、面积变化、生物活动等 ,空间数据库能做什么,空间数据库典型实例 卫星影像存储,要求(时间序列,大存储量) (NASA,QuickBird,Google Earth,Google Map) 车辆GPS 监管 土地部门规划管理 传统数据库 列出某市销售额最高的十家分店 空间数据库 列出附近1000范围内的所有超市 找出附近500m内有学校的所有售房,一维,二维,三、PostgreSQL展示,3.1 PostGIS读写数据方式,读写PostGIS目前主要有以下四种方式: 1.使用psql语言 Psql语言是PostgreSQL内嵌的一个命令行工具,其语法基本上和标准的SQL语法是一致的,可以使用Psql工具,结合标准SQL语法和一些PostGIS的扩展对PostGIS数据库进行读写操作。 2.使用小工具( shp2pg、ogr2ogr ) shp2pgsql和pgsql2shp是PostGIS自身携带的一对在Shape文件和PostGIS数据库之间进行转换的工具。 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,可以用批处理操作。 将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数据管理及操作,尽管在PostgreSQL提供了上述几项支持空间数据的特性,但其提供的空间特性很难达到GIS的要求,主要表现在:缺乏复杂的空间类型;没有提供空间分析;没有提供投影变换功能。为了使得PostgreSQL更好的提供空间信息服务,PostGIS应运而生。,3.3 PostGIS空间数据类型,除了OpenGIS定义的地理数据类型之外,PostGIS还对数据类型进行了扩展,这种扩展主要是两方面的扩展: 一是把二维的数据向三维和四维扩展; 二是在WKT和WKB数据类型基础上扩展出EWKT和EWKB数据类型。EWKT, EWKB(包含了SRID信息的WKT/WKB)SRID(Spatial Referencing System Identifier):每个空间实例都有一个空间引用标识符 (SRID)。SRID 对应于基于特定椭圆体的空间引用系统,可用于平面球体映射或圆球映射。空间列可包含具有不同 SRID 的对象。,3.4 PostGIS函数,PostGIS函数大致可以分为以下四类: 1. 字段处理函数 AddGeometryColumn为已有的数据表增加一个地理几何数据字段; DropGeometryColumn删除一个地理数据字段的; SetSRID设置SRID值 2. 几何关系函数 这类函数目前共有10个,分别是:Distance,Equals,Disjoint,Intersects, Touches 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、GeomFromText等。,3.5 PostGIS拓展功能,1. 数据库坐标变换 数据库中的几何类型可以通过Transform函数从一种投影系变换到另一种投影系中。在OpenGIS中的几何类型都将SRID作为自身结构的一部分,但不知什么原因,在OpenGIS的SFSQL规范中,并没有引入Transform。 2. 球体长度运算 存储在普通地理坐标系中的集合类型如果不进行坐标变换是无法进行程度运算的,OpenGIS所提供的坐标变换使得积累类型的程度计算变成可能。,3.5 PostGIS拓展功能,3. 三维的几何类型 SFSQL规范只是针对二维集合类型。OpenGIS提供了对三维集合类型的支持,具体是利用输入的集合类型维数来决定输出的表现方式。例如,即便所有几何对象内部都以三维形式存储,纯粹的二维交叉点通常还是以二维的形式返回。此外,还提供几何对象在不同维度间转换的功能。 4. 空间聚集函数 在数据库中,聚集函数是一个执行某一属性列所有数据操作的函数。比如Sum和Average,Sum是求某一关系属性列的数据总和,Average则是求取某一关系属性列的数据平均值。与此对应,空间聚集函数也是执行相同的操作,不过操作的对象是空间数据。例如聚集函数Extent返回一系列要素中的最大的包裹矩形框,如“SELECT EXTENT(GEOM) FROM ROADS”这条SQL语句的执行结果是返回ROADS这个数据表中所有的包裹矩形框。,3.5 PostGIS拓展功能,5. 栅格数据类型 PostGIS通过一种新的数据类型片,提供对于大的栅格数据对象的存储。片由以下几个部分组成:包裹矩形框、SRID、类型和一个字节序列。通过将片的大小控制在数据库页值(3232)以下,使得快速的随即访问变成可能。一般大的图片也是通过将其切成3232像素的片然后再存储在数据库中的。,案例1:自然保护区数据库,案例2:网络地图,案例3:网络地图,生态定位站?,四、PostgreSQL发展,四、PostgreSQL发展,目前,软件开源已经成为IT界的一种发展趋势,越来越多的软件加入到开源系统中。 PostgreSQL拥有一支非常活跃的开发队伍,目前的提交人员已经超过三十人, 而且在许多黑客的努力下,PostgreSQL 的质量日益提高,也从另外一个侧面上增加了人们使用 PostgreSQL 的信心。 PostGIS不论在功能还是扩展性方面都不落后于商业GIS平台的空间数据库,而且由于其源代码的公开性,更加容易吸引广大爱好者参与到PostGIS的开发中,不断完善现有的功能同时进一步扩展新的特性,相信PostGIS的发展前景将会非常美好。,四、PostgreSQL发展,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如联机热备份,数据库集群,更优良的管理工具和更加自动化的系统优化功能等提高数据库性能的机制等。 PostgreSQL 拥有极其强大的扩展能力,你可以很容易地扩展数据类型,内部函数,聚集,操作符等等。 拥有所有的源程序,理论上你可以做任何你可以做的事情。因此,很多缺点,在转瞬之间就会消失也是很正常的。,免费 易上手 开源自由 拿来主义 可以“山寨”,ITC为什么推荐PSQL?,一种可以不受限制地自由使用、复制、研究、修改和分发的软件。,云技术: 云存储 云计算 云查询 ,主要参考,参考资料 ITC培训PostgreSQL资料(实为软件帮助) 空间数据库 Shashi Shekhar等著 PostgreSQL7数据库开发指南 许宏松编著 http:/www.sai.msu.su/megera/postgres/gist /proj ht

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论