摘要: PostGIS的历史 2001年5月,Refractions Research 发布了第一版PostGIS。PostGIS 0.1 具有空间对象、空间索引和一些空间函数。结果是PostGIS 0.1是一个适 合存储和检索的数据库,但不适合分析。 随着空间函数数...
PostGIS的历史
2001年5月,Refractions Research 发布了第一版PostGIS。PostGIS 0.1 具有空间对象、空间索引和一些空间函数。结果是PostGIS 0.1是一个适 合存储和检索的数据库,但不适合分析。
随着空间函数数量的增加,相关标准化组织的需求变得明确。开放地理 空间联盟(OGC)的“Simple Features for SQL”(SFSQL)规范提供了 函数命名和要求的指导性原则。
在接下来的几年中,PostGIS函数的数量有所增加,但其功能仍然有限。许多有趣的函数(如ST_Intersects()、ST_Buffer()、ST_Union()) 都很难编写,从头开始写这些函数花费了几年时间。
幸运的是,第二个项目”Geometry Engine, Open Source“ (GEOS) 出现了,GEOS库为实现SFSQL规范提供了必要的算法。通过结合GEOS,PostGIS在0.8版中提供了对SFSQL的完整支持。
随着PostGIS数据容量的增长,另一个问题浮出水面:用于存储几何图 形的描述(元数据)被证明效率相对较低。对于像点和短线这样的小对 象,表示中的元数据占据了多达300%的开销。出于性能方面的考虑,有 必要对描述进行缩减。通过缩减元数据头和所需的维度,大大减少了 开销。在PostGIS 1.0中,这种新的、更快的、轻量级的描述成为了默 认的描述。
PostGIS最新的更新致力于提高对于标准的遵从性,增加了对ISO SQL/MM 标准中制定的基于曲线的几何图形和函数签名的支持。
因为继续注重性能,PostGIS 1.4大大提高了几何图形测试例程的速度。
PostGIS的概念
PostGIS是一个空间数据库,Oracle Spatial和SQL Server(2008和之 后版本)也是空间数据库。
PostGIS通过向PostgreSQL添加对空间数据类型、空间索引和空间函数 的支持,将PostgreSQL数据库管理系统转换为空间数据库。
因为PostGIS是建立在PostgreSQL之上的,所以PostGIS自动继承了重 要的"企业级"特性以及开放源代码的标准。
可以说PostGIS仅仅只是PostgreSQL的一个插件,但是它将PostgreSQL 变成了一个强大的空间数据库!