文/李陽(yáng)
基于網(wǎng)絡(luò)地圖服務(wù)的衛(wèi)星影像數(shù)據(jù)獲取及整合技術(shù)
文/李陽(yáng)
在鐵路工程前期設(shè)計(jì)階段往往會(huì)遇到航飛影像不足的問(wèn)題,影響了設(shè)計(jì)工作的正常進(jìn)行。隨著網(wǎng)絡(luò)地圖服務(wù)(WMS)的推廣與應(yīng)用,可以利用Yahoo、Google、百度等免費(fèi)的WMS影像資源解決這一問(wèn)題。本文以Google影像資源為例,闡述了其投影和數(shù)據(jù)分割方式及原理,并提出影像瓦片URL的構(gòu)造方法。利用多線程技術(shù)實(shí)現(xiàn)了影像數(shù)據(jù)的獲取、拼接及整合。
地圖服務(wù);影像;瓦片;下載;拼接
在鐵路工程前期設(shè)計(jì)階段需要大范圍的影像資料,然而在此階段卻難以獲取足夠的航飛影像資料,尤其是針對(duì)國(guó)外項(xiàng)目,影響了設(shè)計(jì)工作的正常進(jìn)行。計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的快速發(fā)展促進(jìn)了WMS的推廣與應(yīng)用,多數(shù)WMS影像數(shù)據(jù)具有免費(fèi)、時(shí)效性高、無(wú)需用戶維護(hù)等優(yōu)點(diǎn)。鑒于前期設(shè)計(jì)階段經(jīng)度要求不高,我們可以利用WMS影像資料來(lái)解決航飛影像資料不足這一問(wèn)題,可以一定程度減少前期設(shè)計(jì)成本的投入,提高設(shè)計(jì)效率。目前提供WMS的公司有Google、Yahoo、百度、高德等等。綜合考慮影像數(shù)據(jù)覆蓋范圍及數(shù)據(jù)質(zhì)量等因素[1~2],本文以Google影像數(shù)據(jù)為例,闡述一種新的影像數(shù)據(jù)獲取方法,直接構(gòu)造影像瓦片URL,并通過(guò)其從服務(wù)器下載影像數(shù)據(jù),該方法具有高效、穩(wěn)定和精度高等優(yōu)點(diǎn)。
Googlemap(以下簡(jiǎn)稱(chēng)GM)是Google公司W(wǎng)MS產(chǎn)品之一,采用WebMercator投影方式,該投影原理與Mercator投影原理的主要區(qū)別是認(rèn)為地球?yàn)榍蝮w而非橢球體。投影公式如下[3]:
地球半徑,取6378137.0m;
投影坐標(biāo);
大地坐標(biāo),分別表示經(jīng)度和緯度。
WebMercator投影以赤道為標(biāo)準(zhǔn)緯線,本初子午線為中央經(jīng)線,兩者交點(diǎn)為坐標(biāo)原點(diǎn),分別以東、北為正方向,東西向投影范圍為[180°W,180°E],對(duì)應(yīng)投影后X坐標(biāo)范圍為[-20037508.34,+20037508.34],為了便于顯示,將基本地圖裁剪為正方形,所以投影后Y坐標(biāo)范圍與X的范圍一致,投影后緯度范圍為[85.05°S,85.05°N][4]。
影像瓦片采用四叉樹(shù)方式管理并存儲(chǔ),每個(gè)瓦片大小均為256×256像素,瓦片最高級(jí)別為22級(jí),最低級(jí)別為0級(jí),瓦片等級(jí)每提高1級(jí),瓦片便分裂為4塊。第n級(jí)影像整個(gè)投影區(qū)域包含4n塊影像瓦片,X、Y方向各均分為2n份,為便于管理,引入瓦片坐標(biāo)概念,左上角瓦片的坐標(biāo)為(0,0),右下角瓦片的坐標(biāo)為
每個(gè)影像瓦片都有唯一的URL標(biāo)識(shí),通過(guò)該標(biāo)識(shí)即可實(shí)現(xiàn)影像瓦片的下載。利用網(wǎng)頁(yè)分析工具查看GM頁(yè)面即可以得到影像瓦片的URL信息。網(wǎng)頁(yè)元素中影像瓦片對(duì)應(yīng)URL為:
mt1.google.com/vt/lyrs=h@218000 000&hl=en&src=app&x=216&y=94&z=8 &s=Galile
URL各字段均有特定含義。mt0、khm0表示地圖影像服務(wù)器,lyrs表示圖層,hl表示標(biāo)注語(yǔ)言種類(lèi),x、y、z分別表示瓦片坐標(biāo)。影像瓦片URL中包含了影像瓦片的類(lèi)型、坐標(biāo)和等級(jí)等信息,根據(jù)瓦片的屬性調(diào)整相應(yīng)字段參數(shù)即可構(gòu)造指定影像瓦片的URL。
根據(jù)前文方法構(gòu)造相應(yīng)URL,通過(guò)Curl等工具即可實(shí)現(xiàn)對(duì)應(yīng)影像瓦片數(shù)據(jù)下載,由于數(shù)據(jù)量較大,傳統(tǒng)單線程下載效率低,無(wú)法充分利用計(jì)算機(jī)性能及網(wǎng)絡(luò)帶寬。因此,引入多線程技術(shù)提高瓦片數(shù)據(jù)下載效率[5]。
為了平衡用戶請(qǐng)求,引入“任務(wù)池”概念。將待下載的瓦片信息好放入“任務(wù)池”,當(dāng)某一個(gè)線程開(kāi)始執(zhí)行或完成上一個(gè)任務(wù)后向“任務(wù)分派模塊”發(fā)送“任務(wù)請(qǐng)求”,由“任務(wù)分派模塊”從“任務(wù)池”中獲取任務(wù)。成功,則將任務(wù)信息發(fā)送給該線程,并將該任務(wù)記錄從“任務(wù)池”中刪除,如果“任務(wù)池”中沒(méi)有任務(wù)記錄則向該進(jìn)程發(fā)送退出消息,線程正常退出,直至最后一個(gè)線程正常退出,向系統(tǒng)發(fā)送下載完成消息。通過(guò)“任務(wù)池”的分配方式,最大化減小了網(wǎng)絡(luò)傳輸速度對(duì)下載數(shù)據(jù)的影響。
鐵路工程中常用的投影為高斯投影或UTM投影,而下載的影像采用WebMercator投影方式,因此,影像數(shù)據(jù)需進(jìn)行重采樣、重投影及裁剪等后期處理,影像數(shù)據(jù)的后期處理可利用GDAL實(shí)現(xiàn)[6],根據(jù)瓦片坐標(biāo)拼接影像瓦片,拼接后得到目標(biāo)范圍內(nèi)WebMercator投影系統(tǒng)下的影像,利用GDALWarp功能對(duì)拼接后影像重投影,并且可結(jié)合SRTM、GDEM等高程數(shù)據(jù)生成三維空間模型。
以(123.42°E,123.47°E,41.76°N,41.79°N)范圍作為測(cè)試區(qū)域,影像等級(jí)設(shè)為19,該區(qū)域內(nèi)共包含瓦片72*65個(gè),處理后影像數(shù)據(jù)與SRTM數(shù)據(jù)合成三維空間模型如圖5~1所示。
文中所述方法具有效率高、運(yùn)行穩(wěn)定和精度高等優(yōu)點(diǎn)。該方法同樣適用于Yahoo、百度等網(wǎng)絡(luò)地圖服務(wù)。與航飛影像相比,WMS影像具有覆蓋范圍廣、成本低和實(shí)時(shí)性高等優(yōu)點(diǎn),精度可滿足鐵路項(xiàng)目前期設(shè)計(jì)階段要求,利用WMS影像數(shù)據(jù)與SRTM、GDEM等數(shù)據(jù)合成的三維空間模型在鐵路工程前期設(shè)計(jì)階段,對(duì)于指導(dǎo)線路走向選擇以及站場(chǎng)選址等有著十分重要意義。
圖5-1 三維空間模型
(作者單位:中國(guó)鐵路設(shè)計(jì)院集團(tuán)有限公司)
[1]江寬,龔小鵬.GoogleAPI開(kāi)發(fā)詳解:GoogleMaps與GoogleEarth雙劍合璧(第2版)北京:電子工業(yè)出版社,2010.
[2]馬謙.智慧地圖:GoogleEarth/ Maps/KML核心開(kāi)發(fā)技術(shù)揭秘北京:電子工業(yè)出版社,2010.
[3]李長(zhǎng)春,蔡伯根,上官偉,王劍.基于Web墨卡托投影的地圖算法研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2012,29(12):4793~4796.
[4]寇曼曼,王勤忠,譚同德.GoogleMap數(shù)字柵格地圖算法及應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(4):204~206.
[5]李晶媛,韓慧蓮.基于HTTP協(xié)議的多線程下載工具的實(shí)現(xiàn).電腦開(kāi)發(fā)與應(yīng)用[J].2009,22(10):52~54.
[6]劉亞?wèn)|,李青元,譚海,秦科學(xué).開(kāi)源庫(kù)GDAL及其在影像拼接中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用.2012,(2):88~89.