摘要: PostGIS简介 PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供的空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同时,PostGIS遵循OpenGIS的规范。PostGIS 的版权被纳入到 GNU 的...
PostGIS简介
PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供的空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同时,PostGIS遵循OpenGIS的规范。PostGIS 的版权被纳入到 GNU 的GPL 中,意味着任何人都可以自由得到 PostGIS 的源码并对其做研究和改进。正是由于这一点,PostGIS 得到了迅速的发展,越来越多的爱好者和研 究机构参与到 PostGIS 的应用开发和完善当中。
PostGIS的发展历程
PostGIS是由Refractions ResearchInc开发的,由于PostgreSQL所提供的空间数据类型和功能远远不能满足GIS 的需求,研究工作经常陷入到进退维谷的境地,最终的结果往往是耗费了大量的人力物力,而产品却极其复杂并且性能低下。这些原因直接或间接促成PostGIS项目的实施。
2001年5月发布的PostGIS V0.2增加了对于 Windows 平台下二进制表示的支持,同时为新用户提供帮助文档。但用户反馈PostGIS的函数命名没有遵循OpenGIS 规范。2001 年 7 月 PostGIS V0.5 发布,PostGIS增加了OpenGIS现有的所有功能性函数并在函数的命名上与其保持一致。伴随着来自不列颠哥伦比亚省政府的资金支持,对于在球体表面的长度运算支持也加入到0.5版中。同期,Refractions公司将British Columbia省的数字道路地图集移植到PostGIS中,同时使用数据库的模式和数据转换功能为地图集客户提供支持(急救车派遣、紧急事物响应,以及其他市政事物等)。PostGIS V0.5之所以重要,还有一个原因就是Minnesota大学的Mapserver的发布Mapserver是一个开源的互联网地图发布引擎,就像ESRI公司的ArcIMS系统,Mapserver同时增加了对于PostGIS的支持。在Mapserver中,提供了一个Web驱动的接口,这个接口用于检查数据库中数据的空间特征。在PostGIS中,PostGIS为了使得 Mapserver 能够更好的提供服务,提供了一个易于读写的数据源,这个数据源将会在网络事务繁忙的时候发挥其效用。2001 年 9 月PostGIS V0.6 发布,PostGIS V0.6提供了完整的OpenGIS支持,加入了标准的元数据表,并且提供了对于空间参照系统标识的支持。另外还加入了OpenGIS 支持的12个功能函数,同时对于Mapserver的支持得到了进一步的增强。2002年2月,PostgreSQL V7.2发布,在 7.2版中,GIST索引的API函数作了一点改进。。2002年PostGIS V0.7发布,在0.7版中,提供了新的对于GIST的API函数支持,同时在这一版中,提供了对于坐标变换的支持。从2002年到现在,PostGIS又陆续发布了一系列的新版本,这些PostGIS产品在继承PostGIS产品原有优点的同时,又针对PostGIS本身存在的问题和不足进行了进一步的改进。
PostGIS的特性
PostGIS 支持所有的空间数据类型,这些类型包括: 点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点(MULTIPOINT)、多线(MULTILINESTRING)、多多边形(MULTIPOLYGON)和集合对象集(GEOMETRYCOLLECTION)等。
PostGIS支持所有的对象表达方法。
PostGIS支持所有的数据存取和构造方法。
PostGIS 提供简单的空间分析函数同时也提供其他一些具有复杂分析功能的函数。
PostGIS 提供了对于元数据的支持,同时,PostGIS也提供了相应的支持函数。
PostGIS 提供了一系列的二元谓词用于检测空间对象之间的空间关系,同时返回布尔值来表征对象之间符合这个关系。
PostGIS提供了空间操作符用于空间数据操作。
PostGIS还提供以下功能:
u数据库坐标变换
u球体长度运算
u三维的几何类型
u空间聚集函数
u栅格数据类型
关于PostGIS的展望
目前,由于“关系型数据库+空间数据引擎”的技术方案访问迅速、与GIS联系紧密的优点,在应用中占有一定的优势,但空间数据引擎独立于数据库内核,难以充分利用关系型数据库中各种成熟的数据管理、访问技术等问题成为进一步发展的致命弱点。此外,难以支持扩展SQL,不易实现数据共与互操作等问题也逐渐暴露出来。尽管面向对象空间数据库管理系统最适应于空间数据的表达和管理。有关面向对象数据库管理系统的研究已有十多年了,由于缺乏良好的数据基础,在访问速度尚未有重大突破,难以发展成熟,据估计在较长一段时间内面向对象数据库管理系统都不会替代对象关系型数据库管理系统。扩展对象关系型数据库管理系统无疑将成为以后的发展方向。尽管目前PostGIS/PostgreSQL和Spatial Oracle的性能与ArcSDE 仍有一定的差距,但是随着数据库厂商对空间数据管理市场的不断重视、结构化数据管理方式与空间数据管理方式的进一步融合、数据压缩传输技术的不断提高,基于数据库管理系统的空间扩展方式将会不断的完善,成为今后管理空间数据的主流技术。
目前,软件开源已经成为IT界的一种发展趋势,越来越多的软件加入到开源系统中。PostGIS不论在功能还是扩展性方面都不落后于商业GIS平台的空间数据库,而且由于其源代码的公开性,更加容易吸引广大爱好者参与到PostGIS 的开发中,不断完善现有的功能同时进一步扩展新的特性,相信PostGIS的发展前景将会非常美好。