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(頁面存檔備份,存於互聯網檔案館).