GRASS
GRASS GIS (Geographic Resources Analysis Support System,地理資源分析支援系統) 是一個免費、開放原始碼的地理資訊系統(GIS),可用於處理柵格、拓撲向量、影像和圖表數據。
開發者 | GRASS 開發團隊 |
---|---|
目前版本 | 7.8.5(2020年12月21日 | )
原始碼庫 | |
程式語言 | C、C++、Python、Tcl |
作業系統 | 跨平台 |
類型 | 地理資訊系統 |
特許條款 | GPL |
網站 | grass.osgeo.org |
GRASS 在GPL下釋出,可以在多個平台上執行,包括Mac OS X、Windows和Linux。用戶可以通過圖形化使用者介面(內建的基於 X Window系統的 GUI 或通過 Quantum GIS)使用該軟件的功能;也可以通過改進的 shell 直接使用它的模組。
GRASS 6 版本採用新的拓撲 2D/3D 向量引擎並支援向量網絡分析。屬性數據通過 .dbf 檔案或基於 SQL 的資料庫管理系統(如 MySQL、PostgreSQL/PostGIS 和 SQLite)來管理。該系統可以勝任3D向量圖形數據和立體像素的視覺化。通過與 GDAL/OGR庫的繫結,GRASS 支援多種柵格和向量格式。其中包括 OGC-conformal簡單要素,以實現與其他 GIS 軟件的互操作。它也支援線性參考系統。
GRASS 開發團隊是一個由來自很多地區的開發者組成的跨國群體。GRASS 是開源地理空間基金會最初的八個軟件專案之一。
目前,GRASS 在中國的相關資訊維護由OSGeo中國中心負責,具體包括新聞釋出,鏡像網站的維護,中文教程的修訂。
架構
GRASS 支援二維和三維的柵格和向量數據。向量數據模型是拓撲的,意味着面是由邊界和形心定義的;在單一圖層中邊界不能互相重疊。
GRASS 被設計成一個執行環境,執行特定 GIS 計算的工具在其中被執行。不同於典型的應用軟件,一開始執行 GRASS,用戶就會面對一個 UNIX shell,其中包括一個為執行 GRASS 命令(被稱為模組)提供支援的改良的環境。這個環境有一個狀態,其中包括一些參數如覆蓋的地理區域和使用的地圖投影。所有的 GRASS 模組被執行時會讀取這個狀態,並被額外地賦予一些特定的參數(如輸入和輸出的地圖,或者計算中使用的值)。多數 GRASS 模組和功能可以通過 GUI 操作,作為通過 shell 操作地理數據的另外一個選擇。GRASS 發行版中包含超過 300 個核心模組,此外 GRASS 網站上提供了超過 100 個用戶建立的附加模組。GRASS庫和核心模組用C寫成,其他的模組用C、C++、Python、UNIX shell、Tcl 或其他手稿語言寫成。GRASS 模組在 Unix哲學下設計,因此可以被沒有C語言編程知識的用戶用 shell 指令碼聯合起來以建立更加複雜或專業的模組。
歷史
GRASS 的開發可以追溯到 1982 年[1]。美國陸軍工程兵團的一個分支——美國陸軍建築工程研究實驗室(USA-CERL,1982-1995)開始開發 GRASS 以滿足美國軍方土地管理和環境規劃軟件的需要。在 1982 年到 1995 年間,USA-CERL 領導了許多美國聯邦政府機構、大學和私人公司進行了 GRASS 的開發, 在其基礎上開發了 GRASS 的核心組件。USA-CERL 在 1992 年完成了 GRASS 4.1,並在 1995 年之前釋出了這個版本的五個更新和修補程式。USA-CERL 也開發了 GRASS 5.0 浮點版本的核心組件。
USA-CERL 在 GRASS 4.1 版(1995)之後正式終止參與 GRASS。貝勒大學的一個團隊接管了軟件的開發,釋出了 GRASS 4.2 版本。1999 年十月,從版本 5 開始,GRASS 軟件原先的公有領域授權被更換為 GPL[2]。
如今 GRASS 被用於全世界許多學術和商業領域,還有許多政府部門,包括 NASA、NOAA、USDA、DLR、CSIRO、美國國家公園管理局等。