摘要: PostGIS 是一个开源程序,它为对象-关系型数据库PostgreSQL提供了存储空间地理数据的支持,使PostgreSQL成为了一个空间数据库,能够进行空间数据管理、数量测量与几何拓扑分析。PostGIS 实现了Open Geospatial Consor...
PostGIS 是一个开源程序,它为对象-关系型数据库PostgreSQL提供了存储空间地理数据的支持,使PostgreSQL成为了一个空间数据库,能够进行空间数据管理、数量测量与几何拓扑分析。PostGIS 实现了Open Geospatial Consortium所提供的Simple Features的SQL实现参考。
下面是关于PostGIS的一些特点。
完整实现了Simple Features标准之中的空间对象模型,如点、折线、多边形、多点、多折线、多多边形与几何集合。
通过调用提供GEOS之中的几何分析函数,实现了使用3x3Egenhofer matrix分析空间对象之间拓扑关系的运算,并遵循Simple Features定义,实现了一些常见的关系运算,如Intersect、Contain、Overlap等等。
实现了空间数量度量,能够计算几何体之间的距离、几何体的面积、周长等等。
通过调用提供GEOS之中的几何分析函数,实现了常见的GIS空间分析功能,如求交、求并、求差、缓冲区等等。
利用R-tree与GiST实现了空间索引,大大加快了正交查询的速度。支持选择性索引,为空间与非空间的混合查询指定适当的查询策略,提高了搜索的效率。
目前,PostGIS仍不支持在数据库中存储栅格数据。然而目前PostGIS有一个名为PostGIS Raster的计划,正在实现在PostgreSQL中存储栅格数据,并实现矢量数据与栅格数据之间的无缝操作。该计划已经整合到PostGIS 2.0的版本中,目前正在开发中。
在Windows平台下,PostGIS提供了一个pgAdminII的插件,该插件能够把ESRI Shapefile格式的地理数据导入到PostGIS数据库之中。
PostGIS实现了一个基于轻量级的几何体实现,并提供了完善的索引,这大大减少了硬盘与内存的存储量。轻量级的几何体实现使服务器能够把磁盘中更加大量的数据载入到内存之中,这大大加快了查询的性能。
PostGIS已经注册成为了OGC的Simple Features for SQL标准[1] 的其中一种实现。然而由于某些原因,OGC并未把PostGIS列为其一种“兼容”的实现。其原因包括PostGIS扩展了WKB与WKT格式来存储带有三维或四维坐标的几何体,该扩展并不符合OGC的最新定义。