王玉璽 丁 琰 肖沖沖
(中船航??萍加邢挢熑喂?北京 100070)
與紙海圖相比,基于數字海圖的應用系統具有航行自動監(jiān)控及報警、航跡自動存儲、歷史軌跡回放、海圖信息快速查詢以及船舶狀態(tài)自動顯示等優(yōu)點。盡管我國海道測量機構已經發(fā)布了符合國際標準(S-57標準)的電子海圖,但是在特定領域仍然以MVCF數字海圖數據為主且存在少數使用MapInfo數字海圖數據的情況,本文在深入研究了MapInfo數字海圖和MVCF數字海圖數據結構和要素編碼的基礎上,提出了從MapInfo海圖數據向MVCF海圖數據的轉換方法,以滿足特定領域支持MVCF格式電子海圖數據的電子海圖應用軟件使用MapInfo數字海圖的需求。
MapInfo數據采用層次結構組織空間數據,根據不同的專題將海圖分層,每個圖層存儲為若干個數據文件[1~4]。
1)空間數據文件(.MAP):該文件存儲海圖要素的幾何類型、坐標信息和顏色信息等空間數據以及與該要素對應的屬性數據記錄在屬性數據文件(.DAT)中的記錄號。
2)屬性數據文件(.DAT):該文件存儲海圖要素屬性數據,以表結構描述。
3)屬性數據的表結構文件(.TAB):該文件定義了要素屬性數據的表結構,包括字段數、字段名稱、字段類型和字段寬度、索引字段等信息。
4)交叉索引文件(.ID):該文件存儲要素在空間數據文件(.MAP)中的位置指針。
5)索引文件(.IND):該文件是可選的,對于部分字段建立索引。
本文提及的MapInfo海圖數據根據要素內容(水系、居民地、獨立地物等)和要素類型(圖形、地名)進行分層,圖層名稱定義分別采用“圖號+要素內容+圖形”和“圖號+要素內容+地名”的方式表示。
MVCF海圖共有19個專題層,包括海洋/陸地(OCLD)、測量控制點(CTRL)、陸地方位物(LDMK)、地貌(RELF)等17個要素專題層和資料檔案、圖幅索引等2個特殊專題層。由于海圖要素幾何特征不同,在專題層基礎上,將專題層分為一個或多個要素層做為數字化層,每個專題層分為一個或多個數字化層,共分為29個數字化層[5~6]。
MVCF海圖要素編碼在數字海圖數據字典中規(guī)定,包括類碼和識別碼,由6位數字組成[7]。
1)類碼
類碼表示海圖要素的類別,根據航海使用需求和便于計算機數據管理,將海圖要素分為14類,用3位數字表示。其中,第1位數字和第2位數字唯一地定義海圖要素的主類,第3位數字定義主類下的亞類,亞類的具體定義是按照不同性質或不同用途進行劃分的。如類碼51X表示測量控制點類,類碼52X表示自然地理要素類,類碼53X表示人工地物類等。
2)識別碼
識別碼唯一地定義某一類下具體地海圖要素,用3位數字表示。由于海圖要素幾何特征不同,可能表現為點、線、面類型。根據要素幾何特征,將識別碼劃分為3段,分別表示點、線、面要素識別碼。如001~099為點要素編碼;100~199為線要素編碼;200~299為面要素編碼。
MVCF海圖數據每幅圖包含一個元數據文件,文件名為map.rec,用于記錄每幅圖的控制信息,由23個數據項組成,每項數據為一行,以文本文件方式存儲。讀取MapInfo數據文件時,將圖號、圖名、投影方式、基準緯度等圖幅元數據信息寫入map.rec元數據文件[8]。
分別建立MapInfo數據與MVCF數據間的圖層對應關系表、要素編碼對應關系表以及要素屬性表等文件,均采用計算機軟件可識別的結構化語言組織,便于實現轉換程序的自動化處理。
1)圖層對應關系表
根據MapInfo數據圖層命名規(guī)則和MVCF數據分層命名規(guī)則,建立MapInfo數據圖層與MVCF數據圖層的對應關系表。由于MapInfo數據一個圖層可包含不同類型的圖形對象,而MVCF數據一個圖層只能包括同種類型的圖像對象,因此一個MapInfo數據圖層可能對應多個MVCF數據圖層。部分圖層對應關系如表1所示。
表1 圖層對應關系表
2)要素編碼對應表
參考MVCF數字海圖數據字典,將MapInfo數據中的海圖要素與MVCF數據海圖要素編碼進行一一對應。部分要素編碼對應關系如表2所示。
表2 要素編碼對應關系表
3)MVCF海圖數據屬性表
根據MVCF數字海圖數據交換格式標準規(guī)定,將每個圖層的附加屬性項信息結構化存儲,用于在從MapInfo數據向MVCF數據轉換過程中,建立數據圖層的屬性字段信息。
MVCF數據空間坐標采用圖上坐標表示,以厘米為單位。因此,首先將MapInfo數據經緯度坐標轉化為墨卡托投影坐標,然后再將投影坐標轉化為圖上坐標[9~12]。
1)經緯度坐標轉換為投影坐標
以零子午線或自定義原點經線(L0)與赤道交點的投影為原點,零子午線或自定義原點經線的投影為縱坐標X軸,赤道的投影為橫坐標Y軸,構成墨卡托平面直角坐標系。
墨卡托投影正解公式:(B,L)→(XE,YN),標準緯度B0,原點緯度NB0,原點經度L0。計算公式如式(1)所示,e表示自然常數,π表示圓周率。
其中,投影坐標(XE,YN)的單位是米。
2)投影坐標轉化為圖上坐標
假設紙海圖圖幅的左下角的經緯度是(BLB,LLB),紙海圖比例尺分母是scale,則根據式(1)中的墨卡托投影正解公式,該點的投影平面坐標是(XLB,YLB)。由此,海圖要素圖上坐標的計算公式如式(2)所示:
其中,圖上坐標(Xm,Ym)的單位是厘米。
MVCF數據將所有注記類要素集中存儲于注記層(ANNCOV)中,而在MapInfo數據中注記信息是分為多個圖層管理的,因此需將MapInfo數據的所有注記信息圖層全部轉換到MVCF注記層中。
本文通過對MapInfo數字海圖和MVCF數字海圖數據結構和要素編碼的深入分析,建立了二者之間的圖層、要素類型及要素編碼的對應關系,實現了從MapInfo海圖數據向MVCF海圖數據的轉換,滿足MVCF電子海圖應用軟件對MapInfo數字海圖的使用需求。