摘要: 摘自http://developer.51cto.com/art/200704/44472.htm 1986年,加州大学伯克利分校的Michael Ston ebraker教授领导了Postgres的项目,它是PostgreSQL的前身。随后出现了PostGI...
摘自http://developer.51cto.com/art/200704/44472.htm 1986年,加州大学伯克利分校的Michael Ston ebraker教授领导了Postgres的项目,它是PostgreSQL的前身。随后出现了PostGIS,PostGIS是对象-关系型数据库系统Postgr eSQL的一个扩展,它的出现让人们开始重视基于数据库管理系统的空间扩展方式,而且使PostGIS有望成为今后管理空间数据的主流技术。
PostGIS简介
PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同 时,PostGIS遵循OpenGIS的规范。 PostGIS的版权被纳入到GNU的GPL中,也就是说任何人可以自由得到PostGIS的源码并对其做研究和改进 。正是由于这一点,PostGIS得到了迅速的发展,越来越多的爱好者和研究机构参与到PostGIS的应用开发和完善当中。
PostGIS发展历程
PostGIS是由Refractions Research Inc开发的,Refractions是一家GIS和数据库咨询公司,Refraction公司最初是在PostgreSQL的基础上研究空间数据库的实现,由于PostgreSQL所提供的空间数据类型和功能远远不能满足GIS的需求,研究工作经常陷入到进退维谷的境地,最终的结果往往是耗费了大量的人力物力,而产品却极其复杂并且性能低下。这些原因直接或间接促成PostGIS项目的实施。
PostGIS的实施也不是一帆风顺,直到PostgreSQL7.1发布之后,PostGIS的实现才变为可能,主要原因是7.1版本之前PostgreSQL支持的记录大小最大为8Kb,从7.1之后,PostgreSQL将这一限制摈弃。即使采用二进制方式存储,空间数据对象也往往会经常超过8Kb,如果这个限制存在的话,空间数据的存储就无从谈起。
伴随着这一限制的消除,PostGIS的研究和开发也随即在2001年的4月展开,并于2001年的5月发布了PostGIS的第一版(PostGISV0.1)。
在PostGIS的第一版中,主要包括空间数据库、采用标准表示方式的空间数据对象、支持快速查询的空间索引和一些简单的分析函数(如area和length等)。PostGIS V0.1中支持的空间数据对象类型包括:点、线、多边形、几何对象类型,以及多点、多线、多多边形的几何对象类型。
2001年5月发布的PostGIS V0.2增加了对于Windows平台下二进制表示的支持,同时为新用户提供帮助文档。不过,用户反馈PostGIS的函数命名没有遵循OpenGIS规范。
2001年7月PostGIS V0.5发布,PostGIS增加了OpenGIS现有的所有功能性函数并在函数的命名上与其保持一致。增加了24个OpenGIS存 取函数,同时删除了与这些函数功能等价的不标准的原有函数。
伴随着来自不列颠哥伦比亚省政府的资金支持,对于在球体表面的长度运算支持也加入到0.5版中。同期,Refractions公司将 British Columbia省的数字道路地图集移植到PostGIS中,同时使用数据库的模式和数据转换功能为地图集客户提供支持(急救车派遣、紧急事物响应,以及其他市政事物等)。
PostGIS V0.5之所以重要,还有一个原因就是Minnesota大学的Mapserver的发布。Minnesota大学的Mapserver是一个开源的互联网地图发布引擎,就像ESRI公司的ArcIMS系统,Mapserver同时增加了对于PostGIS的支持。