(江蘇海事職業(yè)技術(shù)學(xué)院,江蘇 南京 211170)
海圖是以海洋及其毗鄰的陸地為描述對(duì)象的地圖,是為航海需要而專門繪制的,與地形圖相比,海圖比例尺本身不成系列,海圖圖幅不是按照系統(tǒng)的經(jīng)、緯差分幅,而且圖幅之間有一定的重疊。
伴隨信息技術(shù)的發(fā)展,海洋地理信息的存儲(chǔ)介質(zhì)由紙質(zhì)發(fā)展為磁盤,作為計(jì)算機(jī)可識(shí)別電子海圖(ECDIS)仍沿用最初紙質(zhì)海圖的分幅方式。分幅顯示的電子海圖存在空間信息的存儲(chǔ)因分幅方式本身破壞了地理實(shí)體的完整性;不便于數(shù)據(jù)庫(kù)的分布式管理,造成檢索和存取效率的降低;使得相鄰海圖的疊幅部分海洋信息重復(fù)獲取與存儲(chǔ),產(chǎn)生裂隙和數(shù)據(jù)冗余,導(dǎo)致存儲(chǔ)資源浪費(fèi)和檢索、顯示速度緩慢的弊端。
考慮將大幅電子海圖切分成大小相等、高度和寬度也相等的瓦片形式,這樣海圖瓦片可以分布式的存儲(chǔ),可以多用戶遠(yuǎn)程共享數(shù)據(jù)源,提高了訪問(wèn)效率,減小數(shù)據(jù)冗余,客戶端只需拼接和顯示海圖瓦片,使渲染海圖難度降低[1-2]。
為了使電子海圖圖層能無(wú)縫拼接,并且源自不同服務(wù)器的圖層能正確地拼接,同時(shí)滿足航用海圖恒向線是直線、等角投影的性質(zhì),電子海圖仍然選用等角正圓柱投影方式的墨卡托投影。經(jīng)墨卡托投影后,使得相對(duì)較小的物標(biāo)的形狀沒(méi)有發(fā)生改變,且保持了恒向線為直線,航向?yàn)?00°或180°的恒向線為上下方向平行的直線,航向?yàn)?90°或270°的恒向線為左右方向平行的直線。墨卡托投影在兩極附近產(chǎn)生的變形較大,因此其能夠顯示的最大緯度為85°.05N(S)。為了計(jì)算的簡(jiǎn)化,并且滿足電子海圖客觀顯示地貌形狀的特征,點(diǎn)在海圖在投影時(shí)選擇了地球圓球體作為地球的形狀,這時(shí)在Y軸投影上會(huì)產(chǎn)生0.33%左右的投影變形,這種細(xì)微的變形肉眼是很難感受到的。
為了渲染海圖,還必須要研究電子海圖比例尺的處理方法。在最小圖層的比例尺上(level=1),電子海圖大小為512×512像素。在接下來(lái)的圖層比例尺上,電子海圖的寬度和高度以2的倍數(shù)增長(zhǎng),即在第二層(level=2)上,電子海圖大小為1 024×1 024,第三層(level=3)上,電子海圖大小為2 048×2 048,依次類推。
電子海圖分辨率是指在電子海圖上一個(gè)像素代表的地面距離。舉例來(lái)說(shuō),分辨率為10 m/pixel,其含義為每一像素代表10 m的地面長(zhǎng)度。分辨率的取值依賴于地圖比例尺以及所在的緯度。當(dāng)?shù)厍虬霃饺? 378 137 m時(shí),可以用以下公式計(jì)算電子海圖分辨率。
電子海圖分辨率=cos(lat×pi/180)×地球半徑/電子海圖寬度=[cos(lat×π/180)×2×π×6 378 137]/256×2level
電子海圖比例尺是指在同一度量單位下,圖上長(zhǎng)度與相對(duì)應(yīng)的地球上的長(zhǎng)度的比值。在一個(gè)比例尺為1∶100 000的地圖上,1 ft的長(zhǎng)度代表地球上100 000 ft的長(zhǎng)度。電子海圖比例尺隨著顯示的精細(xì)程度以及基準(zhǔn)緯度的不同而不同,它可利用電子海圖分辨率和以下公式進(jìn)行計(jì)算。假定屏幕的分辨率用screendpi表示,一般計(jì)算機(jī)的screendpi為96。
電子海圖比例尺=1∶電子海圖分辨率×screendpi/0.025 4 m/ft=1∶[cos(lat×π/180)×2×π×6 378 137×screendpi]/256×2level×0.025 4
通過(guò)以上公式可以計(jì)算出不同緯度處電子海圖比例尺、圖片大小及電子海圖分辨率各數(shù)值。赤道處各數(shù)值見(jiàn)表1。
表1 赤道處電子海圖比例尺、圖片大小與電子海圖分辨率之間的關(guān)系
在投影方式選定后,通過(guò)上述公式計(jì)算出在每一顯示精細(xì)度層級(jí)上的比例尺,就可以將地理坐標(biāo)系轉(zhuǎn)化成像素坐標(biāo)系。由于在不同的顯示層級(jí)上圖片的寬度和高度是不同的,所以像素坐標(biāo)也隨之不同。每幅圖最左上角的點(diǎn)的坐標(biāo)總是(0,0),最右下角的點(diǎn)的坐標(biāo)為(256×2level,256×2level-1)。例如在顯示層級(jí)為3時(shí),像素坐標(biāo)系的坐標(biāo)范圍為:(0,0)到(2 047,2 047),見(jiàn)圖1。
圖1 瓦片式電子海圖像素坐標(biāo)系
根據(jù)給定的經(jīng)、緯度和顯示的層級(jí)數(shù),像素坐標(biāo)的X、Y值可通過(guò)如下公式計(jì)算。
sin(Latitude) = sin(緯度×pi/180)
pixelX=[(longitude+ 180)/360] ×256×2level
pixelY={0.5-log[(1+sin(Latitude))/(1-sin(Latitude))] /(4×pi)} ×256×2level
為了優(yōu)化電子海圖系統(tǒng)性能,提高電子海圖顯示速度,所有電子海圖都被分割成256×256像素大小的正方形小塊,即瓦片。由于在每個(gè)縮放級(jí)別下的像素?cái)?shù)量都不一樣,因此每一縮放層級(jí)下電子海圖瓦片(tile)的數(shù)量也不一樣,在縮放級(jí)別為level下的瓦片數(shù)量為tiles= 2level。
每個(gè)tile都有一個(gè)X、Y坐標(biāo)值,從左上角的(0, 0)至右下角的(2level-1,2level-1)。例如在3級(jí)放大級(jí)別下,tile的坐標(biāo)值范圍為(0, 0)至(7,7),見(jiàn)圖2。
圖2 瓦片式電子海圖坐標(biāo)值
同時(shí),給定任意一像素坐標(biāo)的X、Y值,就很容易得到這個(gè)像素所在的Tile的X、Y坐標(biāo)值:
tileX= floor(pixelX/ 256)
tileY= floor(pixelY/ 256)
為了簡(jiǎn)化索引和存儲(chǔ)電子海圖圖片,每個(gè)tile的二維X、Y值被轉(zhuǎn)換成一維字符串,即四叉樹(shù)碼(quadkeys)。每個(gè)quadkey惟一對(duì)應(yīng)了某個(gè)縮放級(jí)別下的一個(gè)tile,并且它可以被用作一般數(shù)據(jù)庫(kù)中B-tree的索引值。為了將瓦片的坐標(biāo)值轉(zhuǎn)換成quadkey,需要將X和Y坐標(biāo)的二進(jìn)制值逐位交錯(cuò)組合,并轉(zhuǎn)換成4進(jìn)制值及對(duì)應(yīng)的字符串。例如,假設(shè)在放大級(jí)別為3時(shí),tile的X、Y坐標(biāo)值為(3,5),quadkey的計(jì)算過(guò)程如下。
tileX= 3 = 011(二進(jìn)制);
tileY= 5 = 101(二進(jìn)制);
quadkey = 100111(二進(jìn)制) = 213(四進(jìn)制) = “213”(quadkey)。
同時(shí),quadkey還具有一些其它特性。首先,quadkey的長(zhǎng)度等于該tile所對(duì)應(yīng)的縮放級(jí)別;其次,每個(gè)tile的 quadkey的前幾位和上一縮放級(jí)別所對(duì)應(yīng)的tile的quadkey相同。如圖3所示,其中tile 2是tile 20至23的上一級(jí)tile,tile 13是tile 130至133的上一級(jí)tile;最后,quadkey提供的一維索引值也體現(xiàn)了不同tile在X、Y坐標(biāo)系中的相近程度,換句話來(lái)說(shuō),兩個(gè)相鄰的tile,其quadkey相似度很高,如quadkey為130和131,它表明其分別代表的兩個(gè)tile在像素坐標(biāo)系中是相鄰的關(guān)系,這一特點(diǎn)對(duì)優(yōu)化數(shù)據(jù)庫(kù)的性能非常重要。因?yàn)橄噜彽膖ile總是同組讀取的,將quadkey相似的tile分組存放在相同的磁盤區(qū)塊中,可以減少對(duì)磁盤的讀取次數(shù),提高顯示速度。
圖3 瓦片式電子海圖圖層命名模式
電子海圖瓦片化減少了數(shù)據(jù)冗余,將電子海圖系統(tǒng)的訪問(wèn)效率提高了近70%,擴(kuò)展了電子海圖的應(yīng)用范圍。瓦片式電子海圖生成技術(shù)的實(shí)現(xiàn),拓展了電子海圖顯示的平臺(tái),為電子海圖網(wǎng)絡(luò)化應(yīng)用進(jìn)一步打下了良好的基礎(chǔ)。
[1] 毛德軍,邢煥革,萬(wàn) 俊.多圖模式下電子海圖搜索和繪制算法研究[J].船海工程,2006(2):110-113.
[2] 關(guān) 勁,張勇剛,李 寧,等.電子海圖快速顯示方法研究[J].中國(guó)航海,2004(4):57-59.