摘 要 針對電子海圖顯示應用場景,本文提出了電子海圖自動調(diào)顯應遵循的4條規(guī)則,并重點介紹了規(guī)則的實現(xiàn),其中對自動調(diào)顯過程中比例尺的選取、屏幕留白的格網(wǎng)化處理、自動調(diào)顯的整體流程進行了詳細描述。
【關(guān)鍵詞】電子海圖 S57-標準 自動調(diào)圖 自動調(diào)顯 拼接顯示 屏幕格網(wǎng)
1 引言
電子海圖的顯示是電子海圖系統(tǒng)的一個最基本的功能,當前很多電子海圖系統(tǒng)的顯示還是基于單幅圖模式的,對其的縮放實質(zhì)上是單幅海圖的矢量縮放;也有少數(shù)電子海圖系統(tǒng)實現(xiàn)了海圖的自動調(diào)顯功能,但普遍都存在這樣那樣的問題。所有這些問題的核心都可以歸結(jié)到對海圖自動調(diào)顯規(guī)則的處理上。本文結(jié)合電子海圖的使用場景,提出電子海圖自動調(diào)顯應遵循的規(guī)則,研究并實現(xiàn)了將物理上離散分布的電子海圖數(shù)據(jù)通過自動調(diào)顯處理形成邏輯上一張圖在屏幕上的無縫拼接顯示。
2 自動調(diào)顯原理
電子海圖的顯示本質(zhì)上包含兩個過程:數(shù)據(jù)加載和數(shù)據(jù)顯示。單幅圖模式,由用戶通過鼠標或者鍵盤操作選擇要打開的海圖數(shù)據(jù)進行數(shù)據(jù)加載,然后完成顯示;自動調(diào)顯模式,將完全解放用戶的雙手,由自動調(diào)顯程序根據(jù)當前窗口顯示范圍和顯示比例尺信息,基于海圖顯示不留白的核心原則,自動完成最合適海圖數(shù)據(jù)的搜尋并調(diào)度顯示,直至將屏幕全部覆蓋或最大覆蓋。
3 自動調(diào)顯規(guī)則
規(guī)則1:窗口顯示范圍內(nèi)不能留白,除非這個區(qū)域沒有任何比例尺的數(shù)據(jù),這是自動調(diào)顯最核心規(guī)則,其他規(guī)則必須以此為前提;
規(guī)則2:窗口顯示范圍內(nèi)如果存在多個比例尺的數(shù)據(jù)時,應首先按比例尺最優(yōu)匹配程度排序,然后按此順位依次掃描數(shù)據(jù)進行屏幕覆蓋檢測,直至數(shù)據(jù)將屏幕完全覆蓋或最大覆蓋;
規(guī)則3:多個比例尺數(shù)據(jù)如果存在重疊部分,必須保證大比例尺數(shù)據(jù)在最后繪制顯示,以始終呈現(xiàn)給用戶在給定條件下最精細的數(shù)據(jù)表達為目的;
規(guī)則4:為了加快判斷并保證小比例尺下不顯示大比例尺航海圖,對于顯示比例尺:數(shù)據(jù)比例尺大于等于100(datascale*100 <= dispscale)的航海圖不參與搜索。
4 自動調(diào)顯規(guī)則實現(xiàn)
以上規(guī)則中,以規(guī)則1為第1準則,確保顯示不留白,盡可能顯示更精細的數(shù)據(jù),并在多比例尺數(shù)據(jù)重疊時,保證大比例尺數(shù)據(jù)始終在最上層顯示。下面將從比例尺、窗口顯示范圍、數(shù)據(jù)范圍,并結(jié)合屏幕格網(wǎng),綜合運用多種算法實現(xiàn)多比例尺電子海圖的自動調(diào)顯。
4.1 最佳數(shù)據(jù)比例尺確定
根據(jù)人眼視覺感受,理論上按數(shù)據(jù)比例尺進行1:1顯示最符合地圖瀏覽查看?;诖嗽恚罴褦?shù)據(jù)比例尺的確定,按數(shù)據(jù)比例尺與當前顯示比例尺的匹配程度確定。
假設(shè)當前共有6個比例尺的海圖數(shù)據(jù),圖1展示了海圖顯示過程中如何根據(jù)顯示比例尺調(diào)度數(shù)據(jù)比例尺的關(guān)系。
4.2 按數(shù)據(jù)比例尺最優(yōu)匹配順序排序
在進行全球多尺度電子海圖調(diào)度顯示時,大部分情況下單憑一個最佳數(shù)據(jù)比例尺數(shù)據(jù)是無法做到完全覆蓋屏幕的。這時候就需要按照比例尺匹配程度逐個搜尋。所以在按4.1確定最佳數(shù)據(jù)比例尺后,還需要據(jù)此確定第二、三最佳等等順位的比例尺。此處通過比例尺與最佳比例尺做差值,按絕對值從小到大排序,此順序即為比例尺最優(yōu)匹配順位。
4.3 窗口顯示范圍與數(shù)據(jù)范圍相交判斷
為提高顯示效率,加快數(shù)據(jù)的搜尋過程,依次輪循各比例尺數(shù)據(jù)進行屏幕覆蓋情況判斷時,應首先將電子海圖數(shù)據(jù)的地理范圍與窗口顯示范圍進行相交判斷,過濾掉一部分不相交的數(shù)據(jù)。
4.4 屏幕留白格網(wǎng)法處理
此處采用屏幕格網(wǎng)法處理電子海圖顯示留白問題,將窗口視圖區(qū)域按照64*64像素大小的格子進行格網(wǎng)劃分。通過檢測數(shù)據(jù)范圍對窗口范圍的覆蓋情況,賦值格網(wǎng)單元。最后通過判斷屏幕格網(wǎng)是否還有空白確定海圖是否已經(jīng)完全覆蓋屏幕。
圖2為根據(jù)窗口視圖區(qū)域大小劃分為6X 6(6行6列)的格網(wǎng),紅色單元格為有效數(shù)據(jù)覆蓋的范圍,白色單元格為無效數(shù)據(jù)范圍,尚沒有被有效數(shù)據(jù)覆蓋,因此自動調(diào)顯程序還需要繼續(xù)掃描數(shù)據(jù),以找到合適數(shù)據(jù)將剩余的白色單元格覆蓋,最終達到屏幕不留白的完全覆蓋。
5 自動調(diào)顯整體流程
綜上,可以看出自動調(diào)顯過程是綜合運用多種算法和多種方式互補控制協(xié)同完成的。下面將結(jié)合以上描述,完整闡述整個流程。
首先,根據(jù)當前顯示比例尺確定最佳數(shù)據(jù)比例尺,接著確定比例尺最優(yōu)匹配排序。
其次,分別構(gòu)造多比例尺數(shù)據(jù)合并覆蓋屏幕格子對象(sMulitScaleUnionCoverGrid)、當前比例尺數(shù)據(jù)合并覆蓋屏幕格子對象(sCurScaleUnionCoverGrid)和當前數(shù)據(jù)覆蓋屏幕格子對象(sCurDataCoverGrid),用以自動調(diào)顯過程中檢測屏幕是否已被完全覆蓋。
最后,結(jié)合矩形相交算法和格網(wǎng)法,開始自動調(diào)顯兩層循環(huán)邏輯處理,外層輪循處理各比例尺,內(nèi)層輪循處理當前比例尺下各個數(shù)據(jù)。
(1) 如果當前處理數(shù)據(jù)已能完全覆蓋屏幕(sCurDataCoverGrid),此時找到最佳匹配數(shù)據(jù),將待調(diào)度列表清空并放入數(shù)據(jù),然后退出輪循,調(diào)入并顯示數(shù)據(jù);
(2)如果當前處理數(shù)據(jù)不能完全覆蓋屏幕,則將數(shù)據(jù)放入待調(diào)度列表,同時將sCurDataCoverGrid合并到sCurScaleUnionCoverGrid,判斷sCurScaleUnionCoverGrid是否完全覆蓋屏幕,如果完全覆蓋,則退出輪循,調(diào)入并顯示數(shù)據(jù),如果不能完全覆蓋則繼續(xù)下一個同比例尺數(shù)據(jù),重復1)操作;
(3)如果直到當前比例尺數(shù)據(jù)搜尋完畢還是未能完全覆蓋屏幕,則將sCurScaleUnionCoverGrid合并到sMulitScaleUnionCoverGrid,判斷sMulitScaleUnionCoverGrid是否完全覆蓋屏幕,如果完全覆蓋,則退出輪循,調(diào)入并顯示數(shù)據(jù);如果未能完全覆蓋則繼續(xù)下一個次優(yōu)比例尺搜尋,重復1)2)操作;
(4)直至所有比例尺都搜尋完畢,如果數(shù)據(jù)還是未能完全覆蓋屏幕,即最糟糕的情況,也調(diào)入列表中所有數(shù)據(jù)完成最大覆蓋顯示。
6 實驗原型及分析
為測試調(diào)度規(guī)則、算法的可用性和顯示性能,本文基于WinXP操作系統(tǒng),硬件配置為i7-3770 3.4GHz,顯示器分辨率為1920*1080。使用VS2010+QT4.8.4開發(fā)平臺,采用140幅S57標準海圖數(shù)據(jù)做實驗。自動調(diào)顯模式下,海圖顯示符合規(guī)則要求,縮放、漫游等顯示性能基本都在100ms以內(nèi),能很好的達到使用需求。圖3為自動調(diào)顯某時刻示意圖。
7 結(jié)束語
本文通過對電子海圖自動調(diào)顯規(guī)則的研究,提出了電子海圖自動調(diào)顯過程中需要遵循的4條規(guī)則。其中重點介紹了對數(shù)據(jù)比例尺的擇優(yōu)選取以及對屏幕留白問題的格網(wǎng)法處理,最后詳細闡述了整個自動調(diào)顯的邏輯流程。根據(jù)本文給出的策略和方案,實現(xiàn)了電子海圖的自動調(diào)用顯示,并成功應用于多型電子海圖顯示系統(tǒng)中,取得了良好的效果。
參考文獻
[1]劉燦由,崔鐵軍,郭黎,等.電子地圖多尺度快速表達的關(guān)鍵技術(shù)研究[J].地理信息世界,1009,7(03):70-74.
[2]劉燦由,翟京生,張威,陳超,朱穎,牛紅光.基于S-101的全球多尺度電子航海圖調(diào)顯方法[R].測繪科學技術(shù)報,2013,30(05):530-534.
[3]胡志蕊,祝國瑞,徐智勇.LOD技術(shù)與制圖綜合在多尺度地圖適時顯示中的應用研究[J].測繪科學,2006,31(05):78-79.
[4]朱雅音,王化文,萬豐,于雷易.確定兩個任意簡單多邊形交、并、差的算法[J].計算機研究與發(fā)展,2003,40(04):576-583.
[5]陸毅,翟京生,夏啟兵等.國際標準電子海圖顯示中幾個關(guān)鍵技術(shù)的實現(xiàn)[J].測繪科學技術(shù)學報,2011,28(04):300-303.
作者簡介
門偉(1986-),男。大學本科學歷。現(xiàn)為華北計算技術(shù)研究所工程師。研究領(lǐng)域為通用跨平臺嵌入式地理信息系統(tǒng)、地圖可視化技術(shù)。
作者單位
1.華北計算技術(shù)研究所 北京市 100083
2.空軍指揮學院模擬仿真 北京市 100000
3.中國電子設(shè)備系統(tǒng)工程公司研究所指揮自動化 北京市 100039