国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MPI的海量遙感影像并行處理技術(shù)探析*

2012-08-29 05:47:02石曉春邱宏華
全球定位系統(tǒng) 2012年6期
關(guān)鍵詞:對(duì)照表海量金字塔

申 煥,石曉春,邱宏華

(廣東省國(guó)土資源測(cè)繪院,廣東 廣州510500)

0 引 言

隨著遙感技術(shù)和數(shù)字?jǐn)z影技術(shù)的快速發(fā)展,遙感影像數(shù)據(jù)的應(yīng)用越來(lái)越廣泛,已成為重要的數(shù)據(jù)源和數(shù)據(jù)更新的手段[1]。近年來(lái),遙感技術(shù)研究的力度不斷加大,各種新衛(wèi)星不斷升空,遙感數(shù)據(jù)源呈現(xiàn)出高空間分辨率、高光譜分辨率、高時(shí)間分辨率的發(fā)展趨勢(shì),傳感器常常接收到超過(guò)1G的大數(shù)據(jù)量遙感影像[2]。

有效處理海量遙感影像數(shù)據(jù),是解決諸如氣象預(yù)報(bào)、資源普查、導(dǎo)航定位、農(nóng)業(yè)生產(chǎn)、環(huán)境監(jiān)測(cè)等領(lǐng)域遙感產(chǎn)品生產(chǎn)系統(tǒng)的大規(guī)模復(fù)雜應(yīng)用的關(guān)鍵。國(guó)內(nèi)外許多學(xué)者已進(jìn)行大量研究,如袁帥等[3]在ArcInfo和Oracle8i的基礎(chǔ)上,通過(guò)對(duì)影像數(shù)據(jù)分塊存儲(chǔ)、建立空間索引、元數(shù)據(jù)存儲(chǔ)、完成了海量影像數(shù)據(jù)的管理;王俊等[4]對(duì)多圖幅海量數(shù)據(jù)電子地圖快速顯示做了一系列研究;朱江等[5]基于Geo-Raster實(shí)現(xiàn)了海量影像數(shù)據(jù)的在線發(fā)布和共享;王佳等[6]提出了一種面向海量空間數(shù)據(jù)的并行UNION查詢技術(shù)。針對(duì)目前通用的順序處理已不能滿足海量數(shù)據(jù)運(yùn)算要求的問(wèn)題,基于MPI并行處理開發(fā)環(huán)境,進(jìn)行了海量遙感影像并行處理研究,大幅度地提高了海量遙感影像數(shù)據(jù)的運(yùn)算速度。

1 技術(shù)背景

1.1 遙感影像切分與合成

遙感影像切分即將整幅遙感影像按照其金字塔分層的級(jí)別分割成若干小的圖片,每個(gè)切片單獨(dú)存儲(chǔ)為一個(gè)文件,并按照一定的規(guī)則存儲(chǔ)在文件系統(tǒng)中。遙感影像合成即將切片目錄中的所有切片拼合在一起,形成一幅完整的影像,且該完整影像需復(fù)制切片的空間參考、仿射變換等信息。在影像切分之前,必須預(yù)先定義一組標(biāo)準(zhǔn)的影像切分參數(shù),影像切分參數(shù)既能保證影像切分過(guò)程的一致性,也能保證影像切分后的影像切片信息描述的完整性。影像切分參數(shù)是影像根據(jù)以切片為單位顯示或處理時(shí)坐標(biāo)映射、影像顯示的核心參數(shù),包括:

1)切片大?。═ileSize:xSize,ySize)

影像經(jīng)過(guò)切分后生成許多小塊的圖片,稱為切片(tile)。切片的寬(xSize)和高(ySize)一般相等,亦即我們通常使用正方形的切片,以像素為單位,通常有

切片的寬、高的尺寸應(yīng)以大于等于128像素為佳。

2)圖片格式

可以選用Png或Jpeg,圖像質(zhì)量比較好,并支持Alpha通道。

3)坐標(biāo)系統(tǒng)

國(guó)際上坐標(biāo)系統(tǒng)普遍采用的是歐洲石油勘探組織(EPSG),坐標(biāo)參考系數(shù)集的編碼表示法,各大GIS軟件廠商幾乎都支持EPSG表示法,GDAL同樣支持EPSG表示法。開放地理信息聯(lián)盟(OGC),標(biāo)準(zhǔn)中間參考系統(tǒng)的(SRID)與EPSG的空間參考系統(tǒng)的ID是一致的。

4)金字塔分級(jí)數(shù)

金字塔分級(jí)數(shù)是根據(jù)切片的尺寸來(lái)計(jì)算的。對(duì)于同一幅影像,不同大小的切片對(duì)應(yīng)不同的金字塔分級(jí)數(shù)。確定了金字塔分級(jí)數(shù),對(duì)原始影像重采樣,建立影像金字塔。

5)仿射變換

仿射變換用含有6個(gè)元素的雙精度浮點(diǎn)數(shù)數(shù)組來(lái)表示,描述了地圖上像元行列坐標(biāo)到地理參考空間的映射。

6)顏色對(duì)照表

16位的遙感影像(含1個(gè)波段)通常含有一個(gè)顏色對(duì)照表的記錄,其DN值(Data Number)在0~255區(qū)間內(nèi)取值,0~255內(nèi)的每一個(gè)值對(duì)應(yīng)著一個(gè)顏色值,DN值與顏色值的一一對(duì)應(yīng),便構(gòu)成了顏色對(duì)照表。

1.2 MPI簡(jiǎn)介

消息傳遞接口(MPI)是目前比較流行的并行計(jì)算開發(fā)環(huán)境之一。MPI是一個(gè)并行計(jì)算消息傳遞接口標(biāo)準(zhǔn),由 MPI論壇(MPI Forum)推出,該標(biāo)準(zhǔn)的目的是提高并行程序的可移植性和開發(fā)效率。MPI論壇是由歐美主要的并行計(jì)算機(jī)生產(chǎn)商,大學(xué)、政府實(shí)驗(yàn)室和工廠研究人員組成的一個(gè)非官方組織。MPI論壇在1994年6月正式推出了MPI的第一個(gè)版本MPI 1.0,又于1995年6月推出了MPI 1.1,對(duì)原有的版本進(jìn)行了修改、完善和補(bǔ)充。1997年7月推出的MPI 2.0版本中,又加入了遠(yuǎn)程存儲(chǔ)訪問(wèn)、并行I/O、動(dòng)態(tài)進(jìn)程管理等內(nèi)容。MPI現(xiàn)在已經(jīng)成為產(chǎn)業(yè)界廣泛支持的并行計(jì)算標(biāo)準(zhǔn)。

1.3 MPI.NET開發(fā)環(huán)境配置

MPI.NET開發(fā)環(huán)境配置前需安裝以下應(yīng)用程序:首先安裝 Microsoft Visual Studio 2005或更高版本;其次安裝 MS-MPI,可安裝 Microsoft HPC SDK 或者 Microsoft Compute Cluster Pack SDK,其中包含編寫MPI程序需要的 MS-MPI的頭文件。

上述文件安裝之后,即可安裝MPI.NET軟件開發(fā)包,接著在Path環(huán)境變量中加入“C:\Program Files\Microsoft Compute Cluster Pack\Bin\mpiexec.exe”,再打開命令提示符窗口,將當(dāng)前目錄改變到MPI.NET的安裝目錄下(默認(rèn)為C:\Program Files\MPI.NET),最后輸入命令“mpiexec.exe–n 8PingPong.exe”,執(zhí)行效果如圖1所示。

圖1 MPI運(yùn)行示例

圖1中所示,mpiexec程序啟動(dòng)了PingPong程序的8個(gè)進(jìn)程,在PingPong中,秩(rank)為0的進(jìn)程(這里為主進(jìn)程)向其它進(jìn)程發(fā)送ping命令,然后返回運(yùn)行這些進(jìn)程的計(jì)算機(jī)名,因?yàn)檫@里的8個(gè)進(jìn)程運(yùn)行在一臺(tái)計(jì)算機(jī)上,這8個(gè)進(jìn)程返回的計(jì)算機(jī)名是相同的。如果PingPong程序運(yùn)行正確的話,說(shuō)明MPI.NET安裝成功,其后就可以開發(fā)MPI并行程序。

2 基于MPI的海量遙感影像并行處理技術(shù)實(shí)現(xiàn)

遙感影像的存儲(chǔ)是二維數(shù)組,大部分遙感影像的處理都是對(duì)像素值的逐點(diǎn)處理,因此遙感影像的并行處理過(guò)程如下:

1)影像切分

利用影像切分算法將遙感影像切分成若干個(gè)合適的切片,具體算法如下:

①計(jì)算金字塔分級(jí)數(shù)

假設(shè)原始影像的寬度為RasterXSize,高度為RasterYSize,切片的尺寸為TileSize,則有:

將xLevel和yLevel兩者取整后的最大整數(shù)作為金字塔的分級(jí)數(shù)。

②建立金字塔并重采樣

GDAL提供的重采樣的方法有Nearest、GAUSS、CUBIC、AVERAGE、MODE、AVERAGE_M(jìn)AGPHASE等,這里選用Nearest方法。

這樣便建立了影像金字塔,每一個(gè)overview對(duì)應(yīng)金字塔的一層,overviewId=-1代表原始影像,overviewId的值越小,其比例尺越小,其分辨率越大。

③計(jì)算金字塔各層的仿射變換參數(shù)

如上所述,overviewid=-1代表原始影像,Transform[1]和Transform[5]分別表示影像在X方向和Y方向的分辨率,那么影像金字塔overviewid所對(duì)應(yīng)的分辨率為

式中,xResolution、yResolution分別為原始影像在x方向和y方向的分辨率。

④坐標(biāo)系統(tǒng)

利用GetProjection()方法讀取原始影像的坐標(biāo)系統(tǒng):string proj=ds.GetProjection();

該方法的返回值為WKT格式的空間參考系,再利用SetProjection()方法設(shè)定切片的坐標(biāo)系統(tǒng):dsTile.SetProjection(proj);

⑤設(shè)定顏色對(duì)照表

利用GetRasterColorTable()方法獲取原始影像相應(yīng)波段的顏色對(duì)照表:ColorTable ct=bandIn.GetRasterColorTable();

再利用原始影像相應(yīng)波段的顏色對(duì)照表設(shè)定切片相應(yīng)波段的顏色對(duì)照表:

bandOut.SetRasterColorTable(ct);

⑥切圖,生成切片

已知原始影像的寬為RasterXSize,高為RasterYSize,切片尺寸為TileSize。

其中,nTileX、nTileY分別為在X、Y 方向上能夠切分的足額切片數(shù),nPixelRemX、nPixelRemY分別為在X、Y方向上剩余部分。首先切分足額的切片部分,再切分X、Y方向的剩余部分,當(dāng)剩余部分的寬度或高度<TileSize,無(wú)DN值處,以0值填充。

⑦記錄原始影像大小

為了以后將切片合成為整幅影像的需要,需使用一個(gè)文本文件,記錄原始影像的尺寸(因切片的綜合尺寸與原始影像的尺寸不一定相符)。

2)按行對(duì)影像進(jìn)行分塊計(jì)算

每個(gè)切片的高度為h,并行運(yùn)算計(jì)算機(jī)的節(jié)點(diǎn)數(shù)為n.將切片分成n塊,每塊有連續(xù)r行向量,r=h/n的整數(shù)部分,余數(shù)部分留給主節(jié)點(diǎn)處理。

3)將n塊數(shù)據(jù)用send方法發(fā)送到各個(gè)計(jì)算節(jié)點(diǎn)因采用主從模式,秩(rank)為0的節(jié)點(diǎn)為主節(jié)點(diǎn),主節(jié)點(diǎn)負(fù)責(zé)發(fā)送n塊數(shù)據(jù),接收各個(gè)節(jié)點(diǎn)的計(jì)算結(jié)果,并處理第0塊數(shù)據(jù)和余數(shù)部分的數(shù)據(jù)。

4)各個(gè)子節(jié)點(diǎn)通過(guò)Receive方法接收從主節(jié)點(diǎn)發(fā)送來(lái)的數(shù)據(jù)塊,采用一定的算法進(jìn)行影像處理運(yùn)算,并將運(yùn)算結(jié)果通過(guò)Send方法發(fā)回主節(jié)點(diǎn)。

5)主節(jié)點(diǎn)利用Receive方法接收各個(gè)子節(jié)點(diǎn)的運(yùn)算結(jié)果,將各運(yùn)算結(jié)果合并,生成影像切片的最終處理結(jié)果。

6)繼續(xù)循環(huán),并行處理下一個(gè)影像切片。

7)影像合成

各切片均處理完成后,應(yīng)用影像合成算法合成完整影像的最終運(yùn)算結(jié)果,影像合成算法如下:

①?gòu)那衅夸浵碌膕izenote.txt文件中讀取完整影像的尺寸信息,讀取得到影像的寬度和高度,分別記為xSize、ySize;②創(chuàng)建用戶指定格式的數(shù)據(jù)類型的驅(qū)動(dòng)以用來(lái)創(chuàng)建新的柵格文件;③讀取空間參考、仿射變換等信息;④創(chuàng)建數(shù)據(jù)集,并給其設(shè)置空間參考、仿射變換等信息;⑤遍歷讀取切片的DN值,并寫入新建的數(shù)據(jù)集中;⑥保存文件。

3 結(jié) 論

當(dāng)前所使用的并行處理遙感影像的技術(shù)是將主節(jié)點(diǎn)運(yùn)算量按計(jì)算機(jī)節(jié)點(diǎn)平均分配,各子節(jié)點(diǎn)處理完后,將處理結(jié)果發(fā)回主節(jié)點(diǎn),主節(jié)點(diǎn)將運(yùn)算結(jié)果合并。這種不考慮子節(jié)點(diǎn)性能和運(yùn)算時(shí)間的并行處理方式稱為靜態(tài)負(fù)載均衡。在今后的研究中,應(yīng)該考慮使用動(dòng)態(tài)負(fù)載均衡技術(shù),即主節(jié)點(diǎn)負(fù)責(zé)發(fā)送數(shù)據(jù),子節(jié)點(diǎn)負(fù)責(zé)處理數(shù)據(jù),子節(jié)點(diǎn)處理完將結(jié)果返回給主節(jié)點(diǎn),主節(jié)點(diǎn)接收到處理結(jié)果后,再次向該子節(jié)點(diǎn)發(fā)送待處理數(shù)據(jù)。這樣,子節(jié)點(diǎn)一直有任務(wù)在進(jìn)行,直至所有任務(wù)結(jié)束。

[1]王永會(huì),宋曉宇,沈 暉.基于OLE Automation的GIS系統(tǒng)的開發(fā)方法[J].沈陽(yáng)建筑工程學(xué)院學(xué)報(bào),2000,16(2):140-142.

[2]王 橋,鄭丙輝.環(huán)境遙感技術(shù)研究與應(yīng)用進(jìn)展[J].衛(wèi)星應(yīng)用,2006,14(1):35-40.

[3]袁 帥,宋曉宇,王永會(huì),等.GIS海量影像數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].沈陽(yáng)建筑工程學(xué)院,2003,19(3):236-239.

[4]王 俊,張文詩(shī),王建濤.多圖幅海量數(shù)據(jù)電子地圖快速顯示的研究與實(shí)現(xiàn)[J].測(cè)繪工程,2003,12(3):18-20.

[5]朱 江,張立立,曾志明,等.海量影像數(shù)據(jù)的發(fā)布集群系統(tǒng)與應(yīng)用[J].地球信息科學(xué),2006,8(2):101-105.

[6]王 佳,楊樹強(qiáng),賈 焰.面向海量數(shù)據(jù)的并行UNION查詢技術(shù)研究與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2006,23(10):68-71.

猜你喜歡
對(duì)照表海量金字塔
“金字塔”
一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
A Study of the Pit-Aided Construction of Egyptian Pyramids
2019年成考院校招生簡(jiǎn)章審核對(duì)照表
海量快遞垃圾正在“圍城”——“綠色快遞”勢(shì)在必行
海上有座“金字塔”
神秘金字塔
童話世界(2017年11期)2017-05-17 05:28:25
一個(gè)圖形所蘊(yùn)含的“海量”巧題
ISO?9001:2015與ISO?9001:2008之間的對(duì)照表
基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲(chǔ)與組織研究
托克托县| 天津市| 仁寿县| 平果县| 夏邑县| 邮箱| 长岛县| 泰安市| 江达县| 凉城县| 镇平县| 常宁市| 清涧县| 兰坪| 辽宁省| 东乌珠穆沁旗| 丰都县| 宜宾县| 驻马店市| 洪江市| 淮滨县| 惠来县| 邳州市| 博乐市| 潮安县| 阿荣旗| 梧州市| 鄂托克前旗| 南涧| 抚州市| 客服| 永兴县| 苗栗市| 瑞安市| 延川县| 砀山县| 镇雄县| 宁武县| 溧水县| 当涂县| 凤台县|