張曉楠,華一新,熊金華,王 培
(1.信息工程大學 地理空間信息學院,河南 鄭州 450052;2.96656部隊,北京 102208)
目前,GIS的許多應用領域,諸如工程建設、交通樞紐選址、水文分析、氣候分析、地貌分析、旅游線路選取等,對GIS的地形分析功能提出更高的要求[1]。大多數GIS平臺都具有用于單一地形特征和獨立區域的地形分析模型,用以研究和解決面臨的某一實際問題[2-3]。但是,信息化條件下的地形分析環境異常復雜,單個模型往往難堪重任,這就需要多個模型的相互協作。為了更好地利用已有的知識和模型,管理眾多地形分析模型,解決實際問題,急需建立一個有效的地形分析模型庫管理平臺。
地形分析是用直接可以觀測到的地貌和外力過程,演繹推斷不能直接觀察到的地殼運動的進程和發展的方法[4]。GIS地形分析主要完成地形數據的基本量算和特征分析兩大任務。從其復雜性角度出發,可以將地形分析分為兩大部分:一是基本地形因子(坡度、坡向、粗糙度等)的計算;二是復雜的地形分析,包括可視性分析、地形特征提取、水系特征分析、道路分析等[5]。本文所研究的地形分析,主要是指根據地理環境各要素間的緊密聯系、相互作用的規律,利用現有地形資料和實地考察所掌握的部分信息,針對局部地區地形條件進行分析。
模型庫是為特定目的服務,具備特定數據存儲結構的相關模型的集合。它是一個共享資源,模型庫中的模型可以重復使用,即可以被不同的系統所調用,避免冗余。通過模型庫還可以將多個模型組合起來構成更大的模型[6]。模型庫并不追求模型本身的完美性,也不認為模型能夠解決一切問題,它的目標僅是在用戶需要時按照要求構建模型。由于經常會有模型的生成、修改、更新、刪除、連接等操作,所以,模型庫的管理非常重要[7]。
為了對各個模型庫實施有效的管理和使用,就必須借助于模型庫管理系統[8]。各個領域對模型庫管理系統的要求有所不同,其定義也有所差別。目前被廣泛接受的模型庫管理系統的定義為:模型庫管理系統是一個支持模型生成、存儲、維護、運行和應用的軟件系統。模型生成包括問題啟發、建模風格選擇、模型提出、模型有效性、模型驗證;模型存儲功能包括模型表示、模型求解、結果分析和報告生成;模型維護功能包括配置和進化管理、一致性和完整性維護。
GIS地形分析模型庫管理系統的設計著眼于各種地形分析模型的統一管理,建立一個通用的模型庫開發和管理平臺,實現對各種地形分析模型合理而有效的利用,從而方便GIS效能的充分發揮。在構建模型庫管理系統時應遵循以下幾個基本原則[9]:
1)便捷實用。系統能夠為地形分析的各個領域提供基礎模型,根據應用需求快速有效地構建出新的實用的地形分析模型,為用戶決策提供保障。
2)交互性強。用戶能夠通過輸入輸出的外部設備與模型庫管理系統進行交互。系統能夠給用戶提供一些專業性的模型選擇向導,協助用戶使用合適的分析模型。
3)易于擴展、維護。系統接口設計開放合理,支持外部應用程序調用模型庫中的模型??筛鶕眯枨蠹暗乩硇畔⒌母拢瑢δP蛶旃芾硐到y中的數據庫、方法庫和模型庫進行管理和維護。
依據上述設計原則,地形分析模型庫管理系統的主要功能大致可以分為模型構建與維護、模型的運行以及模型的組合3大模塊,如圖1所示。

圖1 模型庫管理系統的功能
其中,模型的構建與維護功能模塊主要提供模型在計算機中的存儲方法,便于進行模型的動態管理,提供模型生成、添加、刪除、修改、檢索、瀏覽等功能;模型運行功能模塊主要有運行前的模型匹配與數據的準備、模型的運行以及模型的可視化表達等功能;模型組合功能模塊是建立在模型管理基礎之上的,根據用戶的不同需求,選擇兩個或更多需要的基礎模型,并將其進行有機的鏈接,組合成新的擴展模型,存儲到模型庫中使用。
GIS地形分析模型庫管理系統的總體結構框架設計如圖2所示。

圖2 GIS地形分析模型庫管理系統總體框架
GIS地形分析模型庫管理系統在結構上主要由系統操作界面、模型數據庫、模型方法庫、模型庫、模型庫管理、GIS平臺以及GIS平臺的數據庫管理所組成。邏輯上分為3個層次,即應用層、技術層和資源層。應用層主要是GIS地形分析模型庫管理系統的操作界面層,大致包括可供用戶選擇的模型庫瀏覽,模型構建的添加,根據特殊需求進行模型組合以及最終執行模型等;技術層包括模型庫的管理、方法庫的管理以及基于GIS平臺的數據庫管理,該層主要將模型與數據通過一定的規則和算法程序結合到一起,得到用戶需求的結果,是應用層與資源層關聯到一起的關鍵,是模型庫管理系統的核心部分;資源層包括模型庫、方法庫和數據庫,模型庫又細分為基礎模型庫和專用模型庫,基礎模型庫中存儲一些地形分析中常用的基礎分析模型,專用模型庫主要存儲一些針對特定應用的模型,模型方法庫主要存儲的是一些模型所需要的常規數學算法,模型數據庫也細分為基礎數據庫和專用數據庫,主要是根據模型庫的分類方法進行同步分類的,這樣方便根據不同類型的模型對數據的快速調用。
這里采用將模型與方法分開的系統結構形式,模型庫存儲的模型主要是以數學模型為主,數學模型則是數學方法的計算機程序化,將兩者分開有利于系統的管理和3個庫之間的調用,增強模型的重組性以及系統可用性。模型數據庫是模型庫的血液,為模型庫提供運算參數。模型庫的設計是3層結構的核心問題,模型數據庫與模型方法庫的設計 都是以模型庫的內容結構和設計形式為基準。
2.3.1 模型庫的設計
模型庫是模型庫管理系統的使用對象,根據地形分析的應用需求,將其分為基礎模型庫和專用模型庫,其結構體系如圖3所示。

圖3 GIS地形分析模型庫結構
基礎地形分析模型庫存儲適用于各類地形分析問題求解的基礎性、共性的模型,一般有基本地形因子(坡度、坡向、粗糙度等)的計算、可視性分析、剖面分析、精度分析、道路分析等;專用地形分析模型庫存儲解決地形分析領域復雜問題的模型,這類模型由多個基礎模型利用模型組合技術而形成,是一種基礎模型連接關系的集合。
2.3.2 數據庫的設計
根據模型庫的分類方法,相應的數據庫也分為基礎數據庫和專用數據庫。基礎數據庫存儲基本模型所需要的數據或數據文件,以及一些屬性信息和參數值;專用數據庫存儲專用模型所需要的初始數據或數據文件,以及在運行過程中的屬性信息和參數值。
根據地形分析模型庫管理系統不同模塊的功能,以及模塊間的相互連接關系,將不同的模型以數據文件的形式存儲在數據庫中,就形成了不同類型和不同用途的表,主要有模型屬性表、模型輸入參數表、模型輸出參數表、模型組合參數設置表。
模型屬性表(modeattribute)用來存儲模型的基本屬性信息,其結構如表1所示。

表1 modeattribute表結構
模型輸入參數表(modeinputpara)用來存儲模型輸入參數的信息,而模型輸出參數表(modeoutputpara)用來存儲模型輸出參數的信息,結構如表2所示。

表2 modeinputpara/modeoutputpara表結構
模型組合表(mcsxparasetting)用來存儲模型組合方法與參數設置信息,其結構如表3所示。

表3 mcsxparasetting表結構
2.3.3 方法庫的設計
方法庫是利用數學模型進行系統優化與地形分析所需要的各種數學算法的集合體,包含基礎模型庫中所有模型的基礎數學算法,和經過模型組合后形成的專用模型的復雜數學算法。將程序與算法分離開來,模型的子程序主要存儲在模型庫當中,模型所需的數學算法存儲在方法庫中,這樣使得模型庫的管理更加靈活,可以增強模型的可重用性。方法的基本信息表(mathmethod)包含每種方法的基本描述信息,主要有方法名稱、方法類型、輸入與輸出變量名稱、表達式、方法內容描述以及約束條件等,如表4表示。

表4 mathmethod表結構
根據以上設計思路,在windows環境下,基于某軍事地理信息系統平臺,利用Visual C++開發了一個GIS地形分析模型庫管理系統原型,如圖4所示。

圖4 GIS地形分析模型庫管理系統原型(部分)
建立模型庫管理系統來實現對GIS中眾多地形分析模型的統一管理是地形分析模型研究發展的必然趨勢。通過GIS模型庫管理系統,可以有效利用現有的地形分析模型,有針對性地開發新的地形分析模型、提高模型的使用效率。本文設計和開發的GIS地形分析模型庫管理系統原型,實現了模型的管理、構建和運行等功能,提高了模型的可重用性,基本滿足GIS地形分析模型管理的需要。
[1]成敏瑩.GIS地形分析實例[J].中國科技信息,2012(13):41-42.
[2]JOHN B.LINDSAY.The Terrain Analysis System:a tool for hydro-geomorphic applications[J].Hydrological Processes,2005(19):5:1123-1130.
[3]SUVINEN ANTTI,TOKOLA TIMO,SAARILAHTI MARTTI.Terrain Trafficability Prediction with GIS Analysis[J].Forest Science,2009,55(5):433-442.
[4]百度百科,http://wapbaike.baidu.com/View/1563282.htm.
[5]李世偉,張文詩,宋英進,等.數字地形分析與地形三維可視化表達研究[J].測繪科學,2011,36(2):172-173.
[6]陳文偉.決策支持系統及其開發[M].2版.北京:清華大學出版社,廣西科學技術出版社,2000.
[7]董杰.一個決策支持系統的模型管理平臺及其應用[D].吉林:吉林大學,2005.
[8]馮軍,畢義明,王麗麗,等.模型庫管理系統的開發研究[J].兵工自動化,2010,29(5):89-92.
[9]ING-LONG WU.Model management system for IRTbased test construction decision[J].Decision Support Systems,2000,27(4):443-458.