龔 偉 姜文志 孫玉玉
(海軍航空工程學院 煙臺 264001)
海島戰場環境數據庫結構及API設計*
龔 偉 姜文志 孫玉玉
(海軍航空工程學院 煙臺 264001)
戰場環境數據具有涉及范圍廣、數據量大的特點,基于綜合自然環境數據表示與交換規范協議(SEDRIS)的體系結構,利用戰場環境數據表示的高效性與精確性,設計了一個適用于海島防空作戰的戰場環境數據庫分層存儲模型及應用程序接口(API)函數。
戰場環境數據庫; 分層存儲模型; 應用程序接口
Class Number TP391.1
在研究海島防空作戰推演系統時,戰場環境數據庫結構及應用程序接口(API)函數是必須研究的。所謂推演就是“通過對預定行動環境逼真地、交互式地表現,完成計劃任務和功能的演練,而且這些演練對于任務成功有重大意義”[1]。
戰場環境[2]是作戰推演系統的重要組成部分,在分布式仿真中主要有廣義和狹義兩種定義。廣義上,美國國防部DMSO建模與仿真主計劃(M&S Master Plan)將綜合環境定義為實現分布式系統建立和運行的所有軟硬件環境,包括計算機網絡、各個仿真節點、仿真模型庫、仿真通信協議等;狹義上,按照美國國防部DMSO綜合環境數據表示與交換標準(SEDRIS)[3]對綜合環境的定義,綜合環境即分布式仿真系統中的統一的虛擬物理環境(Virtual Physical Environment),主要包括空間、大氣、海洋、陸地、電磁場以及各種人文環境和參戰實體的外部特性,其體系結構[4]如圖1所示。

圖1 SEDRIS的體系結構
傳統的推演系統在進行戰場環境仿真時,多采用自然環境建模方法實現,技術難度大、開發周期長[5]。本文依據圖1所示體系結構,對戰場環境數據組成進行分析,設計了作戰推演系統的環境數據庫存儲模型,同時為它們設計了API函數,使得接口更加友好,為推演系統的設計與實現奠定良好基礎。
2.1 數據組成
虛擬戰場環境[6]中的數據包括地形高程數據和文化特征數據。地形高程數據一般采用六角網格或方形網格量化表示[7]。對于文化特征,按照SEDRIS的分類,它是以形狀為標準,分為點、線、面三種特征。點狀信息是指一些比較孤立、面積相對較小的文化特征。線狀信息是指那些長度比較長、寬度相對于長度可以忽略的文化特征,比如道路、河流等。面狀信息是指面積比較大的特征,比如樹林、湖泊、島嶼等。它們之間的區別比較明顯,但有時也是模糊的,這就要看該特征是作為點狀信息容易處理還是作為面狀信息容易處理[8]。
真實環境中,有的海域包括許多島嶼、沙洲和礁灘,有的是露出水面的,而有的則藏在水下。對于其中面積較大的島礁沙洲,我們可以用面狀抽象信息來表示;對于面積很小,影響戰場通視性的礁石,我們可以用點狀抽象信息表示;對于沒有露出水面的礁石暗沙,在防空作戰中可以忽略不計,不予表示。而在島礁上部署的防空設施和建筑物可以用點狀信息表示。
綜合上述分析,我們把戰場環境數據庫的數據分成三部分,即基本網格信息、點狀索引信息、面狀抽象信息。
2.2 數據庫分層結構的設計
戰場環境數據庫結構模型是指戰場環境數據庫中環境數據的編排方式和組織關系[9]。這種組織方式的優劣對戰場環境數據庫的數據采集、存儲、查詢、檢索和應用分析都有著重要影響。
從以往的GIS[10]環境數據庫看,描述地形地貌和地形上的文化特征的方法有兩類:一是柵格法;二是矢量法。柵格法是用網格的方法來量化戰場環境,因此可以很好地定位戰場環境,便于搜索整個戰場環境,各種查詢、調度、描述等都能很方便地進行。但柵格細化與系統實時性會產生矛盾,所以柵格法在量化戰場環境中只適用于很小的局部地域,不適合于大地形。矢量法可以精確地描述戰場環境中各種要素的特點和關系,但往往算法復雜,建模困難。
兩種方法各有利弊,可以使用網格化與矢量化相結合的方法來設計一個戰場環境數據庫的分層模型,如圖2所示。

圖2 戰場環境數據庫的分層結構
這種分層方法可以把各種環境信息都明確地歸入設計的模型中,當戰場環境發生較大變化時,在其中添加或刪除信息都可以歸入分層的結構,而不用改變其模型結構。
2.2.1 基本網格信息層
基本網格信息以地形高程網格為基本網格,以左上角頂點為本網格的索引,對每個網格進行編號,以方便搜索和查找。每個網格還包括很多其他的海戰場環境屬性,防空作戰中主要考慮的是在大氣中飛行的空中實體,如巡航導彈、轟炸機、運輸機等,因此在影響戰場的自然環境中,我們可以只考慮影響空中實體的大氣環境因素,如氣候溫度、通視性、電磁環境等。根據屬性的不同,又可以把基本網格信息層分為地形高程信息層、氣候溫度信息層、電磁環境信息層、通視性信息層,如圖3所示。

圖3 基本網格信息層分層結構
氣候溫度層用來存儲該網格的天氣、溫度、風力等大氣參數信息,對于在該網格中飛行的空中實體會受到大氣參數的影響。電磁環境主要存儲該網格上電磁對通信狀況的影響。通視性是指該網格上的作戰實體是否在可視范圍內。
2.2.2 點狀索引信息層
基本網格信息層把一個戰場環境屬性分在很多網格里,而點狀索引信息層要求每一個索引的戰場環境特征要素完全處在它的索引網格里。因此,點狀索引信息層是用一張比基本網格信息層網格間距大一些的網格,并用網格索引號來索引該網格內文化特征的集合,這個集合包括一些用矢量表示的點狀特征信息包括建筑物、面積較小的島礁、島嶼上的防空設施、軍事要塞等。
網格索引的信息都是點狀特征物,可以把它抽象成以下形式:
Point=(phID,position,*pNext)
(1)
其中,Point為點狀物特征物抽象屬性;phID為特征代號,用來映射具體的特征對象結構;而position指明了該點狀特征物在戰場環境中的x、y坐標;*pNext用來指向該網格內的另一個點狀信息。特征代號如表1所示。

表1 點狀特征物代碼
點狀索引信息層中每個網格的內容如下:
gridPoint=(gridID,*pHead)
(2)
其中:gridPoint為網格屬性;gridID為網格ID,代表該網格在索引網格中的網格ID號;*pHead為點狀信息鏈表頭,它存儲了該網格內所有點狀信息組成的鏈表的表頭,而每張表格的內容是式(1)所示的內容。
由以上定義可知,在點狀信息索引層根據給定位置按照ID號索引搜索網格,取得該網格內點狀特征物鏈表表頭。然后對鏈表進行遍歷,就可以訪問到戰場環境內任何一個角落的網格索引信息。
2.2.3 面狀抽象特征層
面狀抽象信息是指一些面積較大的特征,一般使用矢量方法來描述,用一組有序閉合的點來表示,兩個相鄰的點之間用線段連接起來就成了折線,然后把首尾連接起來就成了多邊形。它無法在網格里表示,可以建立一張面狀抽象特征鏈表,只要記住表頭位置,就可遍歷到戰場中的每一個面狀特征對象。
面狀抽象特征的特征類SHAPE可以定義如下:
SHAPE={s_featrueID,s_featrueName,
s_points[PointSUM],s_pointsum,*pNext}
(3)
其中,SHAPE表示面狀抽象屬性;s_featrueID用整型來表示指面狀特征編號;s_featrueName用字符串來表示,存儲面狀特征對象的名稱;s_points[PointSUM]是一個三維點坐標數組,從頭到尾有序并且閉合地存儲面狀特征的拐點;s_pointsum用整型來表示,指表示該面狀特征物的拐點總數;*pNext是一個指針,指向下一個面狀特征物。
綜合上述分層情況,海戰場環境數據庫的對象模型主要定義了環境中各要素特征的一些屬性,對象屬性的定義方法基本是一致的,只是在具體的對象中有不同的屬性,可以給出其抽象的定義方法:
OBJECT={dbf_ID,dbf_sumID,
dbf_FeatrueObjName,dbf_nPointSum,
dbf_pos[n],dbf_Attribution}
(4)
其中:OBJECT表示屬性集合;dbf_ID指特征編號;dbf_sumID存儲當前鏈表中對象編號;dbf_FeatrueObjName存儲對象名稱;dbj_nPointSum表示信息的拐點總數;dbf_pos[n]是一個三維點坐標數組,可以用dbf_pos[x]、dbf_pos[y]、dbf_pos[z]分別取x、y、z的值;dbf_Attribution是這個對象的特殊屬性集。
2.3 應用程序接口(API)函數的設計
API的實現機制可看成這個數據庫的實現引擎,它是海戰場環境數據庫的實時處理程序,完成數據庫的信息提取和處理以及內嵌的各種操作處理。通過設計的各種API函數,海島防空作戰推演系統的應用程序可以方便地提取、處理、設置各種數據,透明地完成對海戰場環境數據庫的各種操作處理[11]。
設計的所有的API函數應由初級API和高級API兩部分組成。其中初級API中主要包括一些數據信息提取的函數,有位置獲取、屬性提取等;高級API包括根據初級API提取的信息分析綜合得到的信息。下面給出每一部分的描述,由于具體API函數比較復雜,給出典型的舉例。
2.3.1 初級API
初級API包括兩大部分:一是那些運行API引擎所必需的接口函數;另一些是基本的獲取戰場環境信息的接口函數。
1) 引擎函數
包括數據庫文件加載函數,初始化函數等,如:
LoadFieldDB(char* fileName)
參數是字符串,表示海戰場環境數據庫的路徑名,目的是把環境數據讀入到內存中。
void InitFieldDB() 初始化海戰場環境數據庫。
2) 信息獲取函數
struct Position{float x,y,z};
Position是定義一個三維點坐標數據格式;
Position GetPointPosition(*char name)
根據輸入的對象名稱,函數返回一個三維點坐標結構,表示該點信息在戰場環境中的位置。
2.3.2 高級API
在獲取了戰場環境信息后,對其進行分析、處理得到的結果。主要反映戰場環境中特征對象之間的關系以及戰場環境與實體之間的關系。主要API函數如下:
float GetPointAndPoint(Position p1,Position p2)
參數分別表示兩個三維點的坐標,函數計算并返回兩點之間的距離。
BOOL IsPointSeePoint(Position p1,Position p2)
參數分別表示兩個三維點的坐標,函數計算兩點之間的通視情況,返回為真表示兩點之間是通視的,否則為假。
傳統的戰場環境建模方法技術難度大,開發周期長,本文提出的分層結構將環境特征物分層考慮,把體積小、數量多的點狀特征物歸到一個索引網格中分塊治理,而把數量少的面狀特征物用鏈表的方法查詢,并為此數據庫設計了API函數,為海島防空作戰推演系統的設計實現打下了良好基礎。
[1] 劉海峰,陳景,林波.面向戰術飛機任務推演的威脅空間分析[J].計算機仿真,2007,24(11):38-41.
[2] 張欣.兵棋推演系統全球地理環境建模方法研究[D].鄭州:中國人民解放軍信息工程大學,2011:5-10.
[3] 孫麗卿,王行仁.綜合自然環境數據庫開發的研究[J].系統仿真學報,2007,19(16):3688-3692.
[4] 龐國峰.虛擬戰場理論研究與工程實踐[M].北京:電子工業出版社,2009:217-218.
[5] 林華,莫建軍,吳中紅.基于組件式GIS的海軍兵力對抗推演系統[J].計算機仿真,2013,30(3):22-25.
[6] 劉濤,常顯奇,謝劍薇.虛擬戰場環境系統的軍事需求分析[J].飛航導彈,2007(5):35-37.
[7] 楊倫,彭春光,黃健,等.兵棋推演中地形量化算法與研究[J].計算機仿真,2008,25(9):96-99.
[8] 郭齊勝,等.計算機生成兵力導論[M].北京:國防工業出版社,2006:34-35.
[9] 董志明.適于CGF的戰場環境數據庫研究[D].北京:裝甲兵工程學院,2004:10-25.
[10] 王亞民,趙捧未.地理信息系統及其應用[M].西安:西安電子科技大學出版社,2006:10-15.
[11] 郭齊勝,董志明.戰場環境仿真[M].北京:國防工業出版社,2005:80-82.
Island Battlefield Environment Database Structure and API Design
GONG Wei JIANG Wenzhi SUN Yuyu
(Naval Aeronautical and Astronautical University, Yantai 264001)
The battlefield environment data has the characteristics of a wide range and the large amount of data. Based on the architecture of SEDRIS, using the efficiency and accuracy of the battlefield environment data representation, a battlefield environment database hierarchical storage model which is suitable for island air defense combat is designed. And the API function for the model is designed.
the battlefield environment database, hierarchical storage model, API
2014年4月20日,
2014年6月3日
龔偉,男,碩士研究生,研究方向:軍用仿真。姜文志,男,教授,博士生導師,研究方向:計算機應用、武器裝備與作戰指揮一體化。孫玉玉,女,工程師,研究方向:人事管理。
TP391.1
10.3969/j.issn1672-9730.2014.10.024