PostGIS
開發者 | Refractions Research, Paul Ramsey, Dave Blasby, Kevin Neufeld, Mark Cave-Ayland, Regina Obe, Sandro Santilli, Olivier Courtin, Nicklas Avén, Pierre Racine, Jeff Lounsbury, Chris Hodgson, Jorge Arévalo, Mateusz Loskot, Norman Vine, Carl Anderson, Ralph Mason, Klaus Foerster, Bruno Wolff III, Markus Schaber |
---|---|
首次發布 | 2005年4月19日 |
當前版本 | 3.1.2(2021年5月21日 | )
源代碼庫 | |
操作系統 | Linux、Windows, Mac OS X, POSIX 兼容系統 |
類型 | 地理信息系統 |
許可協議 | GNU通用公共許可證 |
網站 | https://postgis.net/ |
PostGIS 是一個開源程序,它為對象-關係型數據庫PostgreSQL提供了存儲空間地理數據的支持,使PostgreSQL成為了一個空間數據庫,能夠進行空間數據管理、數量測量與幾何拓撲分析。PostGIS 實現了開放地理空間協會所提出的基本要素類(點、線、面、多點、多線、多面等)的SQL實現參考。
特點
- 完整實現了基本要素標準之中的空間對象模型,如點、折線、多邊形、多點、多折線、多多邊形與幾何集合。
- 通過調用提供GEOS之中的幾何分析函數,實現了使用3x3Egenhofer matrix分析空間對象之間拓撲關係的運算,並遵循Simple Features定義,實現了一些常見的關係運算,如Intersect、Contain、Overlap等等。
- 實現了空間數量度量,能夠計算幾何體之間的距離、幾何體的面積、周長等等。
- 通過調用提供GEOS之中的幾何分析函數,實現了常見的GIS空間分析功能,如求交、求並、求差、緩衝區等等。
- 利用R樹與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的最新定義。要了解OGS關於「兼容」的定義,請參見:What does "Compliant" mean?(頁面存檔備份,存於網際網路檔案館).
用戶
PostGIS是一個重要的GIS基礎軟件,因為目前它是為數不多的開源空間數據庫存儲方案之一。有許多著名的GIS軟件都使用PostGIS作為數據庫後端,其中包括:
- Cadcorp SIS
- Everest GIS
- Feature Manipulation Engine
- GeoMedia (通過第三方連接器)
- GeoServer
- GRASS GIS (GPL)
- gvSIG (GPL)
- Interoperability Extension from ESRI
- Ionic Red Spider
- Kosmo (GPL)
- Manifold System
- MapInfo Professional
- Mapnik (LGPL)
- MapDotNet Server
- MapServer (BSD)
- MapGuide (LGPL)
- MezoGIS
- OpenJUMP (GPL)
- Quantum GIS (GPL)
- TerraLib (LGPL)
- TerraView (GPL)
- uDig (LGPL)
- ArcGIS (通過ZigGIS, ArcSDE以及其他第三方連接器)
- CitySurf Globe
- 優步(Uber)
歷史
PostGIS的第一個版本在2001年由Refractions Research以GNU通用公共許可證發行。在2005年的4月19日,PostGIS在經歷了6個最終測試版本後,終於放出了第一個穩定版本。在2006年,PostGIS註冊成為了OGC的「簡單要素SQL實現」標準的一個實現。
PostGIS向PostgreSQL對象關係型數據庫添加了地理對象支持。其結果是,PostGIS「空間啟用」了PostgreSQL服務器,允許其被用於地理信息系統(GIS)的後台空間數據庫,類似於ESRI的SDE或Oracle的空間擴展。
為化簡Windows下PostGIS的安裝,一些Windows安裝器被創建,例如PostGIS Installer for Windows和PostGIS Windows Installer。
詳細的歷史請參見 http://www.refractions.net/products/postgis/history/(頁面存檔備份,存於網際網路檔案館)
參見
- Well-known text與well-known binary,前者是一種用文本表示空間對象的註記方法,後者是一種用二進制流表示空間對象的存儲方法。PostGIS使用這兩種格式在數據庫中存儲空間對象。
參考
- ^ OGC Implementing Product Details. [2011-02-19]. (原始內容存檔於2010-12-27).
參考文檔
- PostGIS in Action, 2010 from Manning(頁面存檔備份,存於網際網路檔案館).
- PostGIS HTML Documentation(頁面存檔備份,存於網際網路檔案館).
- PostGIS 1.5.2 PDF Manual(頁面存檔備份,存於網際網路檔案館).
- PostGIS 2.0.0 PDF In Progress Manual(頁面存檔備份,存於網際網路檔案館).