用於 GIS 數據的 PostGIS 與 SQL Server
所以我最近開始在一家新公司工作,並且有很多 ArcGIS 使用者似乎非常熱衷於使用 PostGIS 實例來為我們的客戶提供一些數據。雖然我對此沒有意見,但我們是一家 95% 的 SQL Server 和 5% 的 Oracle 商店。我們目前的內部 GIS 在 SQL Server 上執行,我還沒有聽到任何抱怨。
我知道自 2012 年起 SQL Server 具有許多改進的空間/幾何功能,但是 PostGIS 中是否有任何殺手級功能值得進入新平台?我試圖研究它,但找不到任何真正深入的東西,或者這不完全是偏見。
我想為他們提供最好的工具來完成他們的工作,但也必須權衡這樣一個事實,即我將從一開始就學習 Postgres/GIS,這本身就是一個完整的旅程。
我使用過 Postgres 和 SQL Server。我發現 Postgres 在 GIS 功能上更勝一籌。雖然我將在下面簡要詳細介紹我的發現,但我建議這樣做:給自己一個簡短但合理的時間段來回顧你所知道的不熟悉的解決方案,並牢記特定的目標。例如,可能需要 2 週的時間來安裝和學習目前正在使用的某些特定功能。如果您發現在該時間段內卡住或缺乏功能,那麼您知道它不適合您。這是一項研究投資,可以拓寬您的視野並幫助您意識到您可能錯過了以前不知道的東西,或者只是確認您目前的課程是正確的。
就數據庫而言,我發現 Postgres 的學習曲線更短、更淺。文件簡直令人難以置信。SQL Server 確實有相當多的文件,但我發現很多文件很難閱讀,而且沒有足夠的範例和教程。
PostGIS vs SQL Server Spatial 在文件方面與上述類似,但 PostGIS 在功能上擊敗了 SQL Server Spatial。例如,Google地圖,以及在較小程度上的必應地圖,最近在他們的地圖 API 中添加了完整的 geoJSON 支持。好吧,PostGIS 可以使用ST_AsGeoJSON()輕鬆地直接從數據庫查詢中返回 geoJSON 結果。然後可以將此 geoJSON 結果直接傳遞給任何可以理解 geoJSON 的對象。SQL Server 要求您使用額外的庫和處理,或者使用 ogr2ogr。此外,PostGIS 有超過 300 個函式可用於數據進出數據庫的轉換,而 SQL Server 則只有 70-100 個。