亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Hadoop云平臺(tái)下的地圖瓦片生產(chǎn)系統(tǒng)研究

        2018-02-26 01:44:22王曉輝
        發(fā)明與創(chuàng)新 2018年33期
        關(guān)鍵詞:瓦片分塊集群

        王曉輝

        廣東工貿(mào)職業(yè)技術(shù)學(xué)院 廣東 廣州510000

        引言

        隨著大數(shù)據(jù)技術(shù)和遙感衛(wèi)星技術(shù)的快速發(fā)展,遙感地圖瓦片服務(wù)日益增多,為滿足不同用戶在使用地圖瓦片服務(wù)的不同需求,瓦片生成系統(tǒng)成為各地圖瓦片服務(wù)商的關(guān)鍵核心技術(shù)。

        通過(guò)將海量的遙感數(shù)據(jù)分布到Hadoop云平臺(tái)上進(jìn)行處理可以快速高效地生成和管理生成的地圖瓦片數(shù)據(jù)。本文是在Hadoop云平臺(tái)的地圖瓦片生成系統(tǒng)開(kāi)發(fā)過(guò)程基礎(chǔ)上,實(shí)現(xiàn)了在云平臺(tái)下快速生成地圖瓦片系統(tǒng)。

        一、地圖瓦片云平臺(tái)支撐技術(shù)概述

        1.Hadoop云平臺(tái)技術(shù)

        Hadoop是基于云計(jì)算技術(shù)概念發(fā)展起來(lái)的,是由Apache基金會(huì)開(kāi)發(fā)發(fā)布的開(kāi)源分布式框架。其具有的免費(fèi)、高效等特點(diǎn)可以滿足低成本云計(jì)算平臺(tái)架設(shè)。Hadoop項(xiàng)目的核心技術(shù)是HDFS分布式文件系統(tǒng)與MapReduce框架,地圖瓦片系統(tǒng)通過(guò)HDFS系統(tǒng)來(lái)存儲(chǔ)海量遙感圖像衛(wèi)星數(shù)據(jù),通過(guò)MapReduce框架來(lái)實(shí)現(xiàn)分布式地圖瓦片處理工作。

        2.GeoServer地圖瓦片切割技術(shù)

        GeoServer是開(kāi)源地理信息系統(tǒng)下的Web服務(wù)器規(guī)范,是使用Java語(yǔ)言實(shí)現(xiàn)的開(kāi)源項(xiàng)目。該項(xiàng)目核心技術(shù)包括金字塔模型和地圖瓦片切割技術(shù)。通過(guò)對(duì)GeoServer的源碼分析,GeoServer采用類(lèi)似Google地圖瓦片的切割方法。通過(guò)比例尺、行號(hào)、列號(hào),構(gòu)建切割后的瓦片命名規(guī)則。瓦片切割命名規(guī)則如圖1所示。

        圖1 瓦片命名規(guī)則

        依據(jù)以上命名規(guī)則,系統(tǒng)通過(guò)更改GeoServer源碼將高分一號(hào)衛(wèi)星影像數(shù)據(jù)切割生成瓦片數(shù)據(jù)。

        3.GDAL圖像處理技術(shù)

        GDAL(GeospatialDataAbstractionLibrary)是一個(gè)在X/MIT許可協(xié)議下的開(kāi)源柵格空間數(shù)據(jù)轉(zhuǎn)換庫(kù)。它利用抽象數(shù)據(jù)模型來(lái)表達(dá)所支持的各種文件格式。GDAL具有跨平臺(tái)、開(kāi)源、簡(jiǎn)潔、高效的特點(diǎn),能讀取、寫(xiě)入、轉(zhuǎn)換、處理大多數(shù)柵格數(shù)據(jù)文件格式。本系統(tǒng)通過(guò)將GDAL編譯成Linux下可被Java調(diào)用的so文件,方便在Hadoop云平臺(tái)環(huán)境下使用。比如:TIFF轉(zhuǎn)PNG算法實(shí)現(xiàn)等。

        4.MongoDB數(shù)據(jù)庫(kù)技術(shù)

        MongoDB是一個(gè)分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類(lèi)似json的bson格式,可以較好地解決例如地圖瓦片這類(lèi)海量小圖片存儲(chǔ)存儲(chǔ)和海量計(jì)算方面的應(yīng)用需求。由瓦片生成系統(tǒng)生成地圖瓦片后由采用MongoDB數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)生成的地圖瓦片數(shù)據(jù)。

        二、Hadoop平臺(tái)下的地圖瓦片生產(chǎn)系統(tǒng)簡(jiǎn)介

        1.Hadoop集群搭建

        (1)集群hostname配置

        修改/etc/hostname每個(gè)節(jié)點(diǎn)單獨(dú)配置,如主節(jié)點(diǎn)修改為hadoopD1001。

        (2)集群hosts配置

        根據(jù)集群節(jié)點(diǎn)主機(jī)名和IP修改/etc/hosts文件成如下格式,整個(gè)集群統(tǒng)一配置。

        192.168.1.105’ ’hadoopD1001

        192.168.1.106’ ’hadoopD1002

        (3)SSH訪問(wèn)設(shè)置

        Linuxsshkey分為兩個(gè):/home/ubuntu/.ssh/id_rsa和/home/ubuntu/.ssh/id_rsa.pub,其內(nèi)容是155個(gè)字符為一行的字符串。

        使用/home/ubuntu/.ssh/id_rsa可以訪問(wèn)/home/ubuntu/.ssh/id_rsa.pub,因此可以將集群中所有的公鑰放到一個(gè)統(tǒng)一的authorized_keys中并復(fù)制到每個(gè)節(jié)點(diǎn)/home/ubuntu/.ssh/authorized_keys中。生成秘鑰:切換到ubuntu用戶下使用ssh-keygen命令,回車(chē)三下,如果已經(jīng)有key覆蓋,將整個(gè)集群中所有的id_rsa.pub放入authorized_keys,并復(fù)制到整個(gè)集群的/home/ubuntu/.ssh中。

        (4)修改/etc/profile配置,配置jdk,環(huán)境變量

        (5)Hdfs搭建設(shè)置

        etc/hadoop/core-site.xml

        etc/hadoop/hdfs-site.xml

        Hadoop集群搭建成功如圖2所示。

        圖2 Hadoop集群搭建成功

        2.地圖瓦片生成系統(tǒng)模塊設(shè)計(jì)

        地圖瓦片生成系統(tǒng)劃分為數(shù)據(jù)分塊處理模塊、地圖瓦片向上迭代模塊、地圖瓦片向下迭代模塊。由系統(tǒng)控制來(lái)生成不同級(jí)別地圖瓦片。

        (1)數(shù)據(jù)分塊處理模塊

        該模塊主要功能是數(shù)據(jù)分塊,系統(tǒng)調(diào)用matlab數(shù)據(jù)分塊算法對(duì)高分一號(hào)衛(wèi)星數(shù)據(jù)進(jìn)行分塊。算法需要輸入遙感衛(wèi)星圖像數(shù)據(jù),輸入分塊的行與列,根據(jù)輸入分塊的行與列,對(duì)數(shù)據(jù)分辨率的行與列取模,獲取余數(shù)。將讀入數(shù)據(jù)的分辨率的行與列減去余數(shù)并除以分塊的行列數(shù),將輸入的分塊數(shù)的行列加1,建立索引矩陣,矩陣中存放分塊用索引的行列號(hào),根據(jù)索引矩陣的行列號(hào)生成不同區(qū)域矩陣,根據(jù)索引矩陣的行列號(hào)保存分塊的不同矩陣。具體算法如下:

        function[outfile1]=segimg(file,imrow,imcol)

        image=file;

        rows=size(image,1);

        cols=size(image,2);

        mod_rows=mod(rows,imrow);

        mod_cols=mod(cols,imcol);

        step_cols=(cols-mod_cols)/imcol;

        step_rows=(rows-mod_rows)/imrow;

        imrow=imrow+1;

        imcol=imcol+1;

        indx_row=zeros(1,imrow);

        indx_col=zeros(1,imcol);

        for(i=2∶imrow)

        indx_row(i)=(i-1)*step_rows;

        ifi==imrow

        indx_row(i)=(i-1)*step_rows+mod_rows;

        end

        end

        for(i=2∶imcol)

        indx_col(i)=(i-1)*step_cols;

        ifi==imcol

        indx_col(i)=(i-1)*step_cols+mod_cols;

        end

        end

        imrow=imrow-1;

        imcol=imcol-1;

        a=cell(imrow,imcol);

        temprow={};

        for(i=1∶imrow)

        for(j=1∶imcol)

        temprow{i}=image(indx_row(i)+1∶indx_row(i+1),∶,∶);

        a{i,j}=temprow{i}(∶,indx_col(j)+1∶indx_col(j+1),∶);

        name=strcat('rl',num2str(i),num2str(j),'.mat');

        temp=a{i,j};

        save(name,'temp');

        end

        end

        outfile1=a;

        end

        (2)地圖瓦片向下迭代模塊

        該模塊的上游輸入數(shù)據(jù)是由分塊模塊提供的遙感衛(wèi)星圖像分塊數(shù)據(jù),根據(jù)衛(wèi)星圖像實(shí)際級(jí)別與Web地圖需要展示的最高級(jí)來(lái)判定是否進(jìn)行向下迭代地圖瓦片生成。

        當(dāng)向下模塊開(kāi)啟后,系統(tǒng)進(jìn)入Hadoop集群系統(tǒng)的MapReduce模型處理分塊數(shù)據(jù),首先在Map階段,分塊影像數(shù)據(jù)從HDFS讀取到本地,由于是向下迭代,在此運(yùn)行圖像分塊模塊,分塊結(jié)束后,使用GDAL將TIFF格式的衛(wèi)星影像數(shù)據(jù)轉(zhuǎn)換為PNG格式,這是因?yàn)閃eb瓦片通用格式為PNG圖片格式。然后對(duì)PNG格式圖像重采樣。將重采樣后的數(shù)據(jù)存儲(chǔ)到Mongodb數(shù)據(jù)庫(kù)中,最后刪除本地臨時(shí)文件。如圖3所示。

        圖3 瓦片生成向下迭代流程圖

        (3)地圖瓦片向上迭代模塊

        該模塊的上游輸入數(shù)據(jù)是原始遙感衛(wèi)星圖像數(shù)據(jù),根據(jù)衛(wèi)星圖像實(shí)際級(jí)別與Web地圖需要展示的最低級(jí)來(lái)判定是否進(jìn)行向上迭代地圖瓦片生成。

        當(dāng)向上迭代模塊開(kāi)啟后,系統(tǒng)進(jìn)入Hadoop集群系統(tǒng)的MapReduce模型處理,首先在Map階段,分塊影像數(shù)據(jù)從HDFS讀取到本地,使用GDAL將TIFF格式的衛(wèi)星影像數(shù)據(jù)轉(zhuǎn)換為PNG格式,然后對(duì)PNG格式圖像重采樣。將重采樣后的數(shù)據(jù)存儲(chǔ)到Mongodb數(shù)據(jù)庫(kù)中作為當(dāng)前級(jí)別迭代地圖瓦片,最后刪除本地臨時(shí)文件。

        以上流程與向下迭代基本相同。向上迭代與向下迭代的區(qū)別在于Reduce階段。在Reduce階段的輸入數(shù)據(jù)是未重采樣的PNG遙感衛(wèi)星圖像數(shù)據(jù),使用圖像鑲嵌功能,按照網(wǎng)格編號(hào)將四塊PNG圖像鑲嵌為一塊PNG,其中可能會(huì)出現(xiàn)PNG圖像不足的情況,這時(shí)使用透明PNG圖像進(jìn)行補(bǔ)足鑲嵌。鑲嵌后的PNG圖像存放在HDFS上作為下一個(gè)向上迭代的輸入數(shù)據(jù),最后刪除本地臨時(shí)文件。如圖4所示。

        圖4 瓦片生成向上迭代流程圖

        3.系統(tǒng)測(cè)試與性能分析

        系統(tǒng)采用的測(cè)試數(shù)據(jù)為90GB遙感衛(wèi)星圖像數(shù)據(jù),輸入數(shù)據(jù)為12級(jí)地圖瓦片數(shù)據(jù)。系統(tǒng)使用5個(gè)子節(jié)點(diǎn)的Hadoop集群進(jìn)行地圖瓦片生成處理。下表列出了瓦片分塊模塊、向下迭代模塊(17級(jí)—12級(jí))、向上迭代(11級(jí)—6級(jí))的瓦片生成效率。系統(tǒng)處理效率如表1所示。

        表190 GB數(shù)據(jù)測(cè)試結(jié)果

        三、結(jié)語(yǔ)

        Hadoop云平臺(tái)瓦片生成系統(tǒng)可以有效解決海量遙感衛(wèi)星圖像的地圖瓦片切片服務(wù),從而為用戶通過(guò)Web客戶端訪問(wèn)WEBGIS項(xiàng)目提供支持。

        本研究的特色是分布式計(jì)算環(huán)境下的遙感地圖瓦片生產(chǎn)研究。在遙感地圖瓦片生產(chǎn)中引入分布式計(jì)算的思想,用以提高海量地圖瓦片生產(chǎn)速度并解決多機(jī)協(xié)同計(jì)算問(wèn)題,為當(dāng)前海量地圖瓦片生成提供一種有效的解決方案,防止因在遙感地圖瓦片生產(chǎn)過(guò)程中出現(xiàn)處理計(jì)算能力不足而產(chǎn)生頸瓶。此外,該系統(tǒng)瓦片生產(chǎn)效率通過(guò)更改算法和MapReduce模型仍然有進(jìn)一步提高的可能。在今后的研究中,還需要通過(guò)進(jìn)一步改進(jìn)算法等來(lái)提高效率。

        猜你喜歡
        瓦片分塊集群
        分塊矩陣在線性代數(shù)中的應(yīng)用
        一種基于主題時(shí)空價(jià)值的服務(wù)器端瓦片緩存算法
        海上小型無(wú)人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
        慣性
        一種無(wú)人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:40
        Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
        勤快又呆萌的集群機(jī)器人
        反三角分塊矩陣Drazin逆新的表示
        基于自適應(yīng)中值濾波的分塊壓縮感知人臉識(shí)別
        基于多分辨率半邊的分塊LOD模型無(wú)縫表達(dá)
        亚洲视频中文字幕更新| 妺妺窝人体色777777| 偷拍偷窥女厕一区二区视频| 欧美日韩在线视频| 免费看av在线网站网址| 久久精品国产网红主播| 白又丰满大屁股bbbbb| 午夜福利电影| 男人的天堂av网站一区二区| 超级少妇一区二区三区 | 亚洲综合中文字幕综合| 国产av无码专区亚洲av男同| 午夜时刻免费入口| 国产色秀视频在线播放| 国产乱人伦偷精品视频| 国产女高清在线看免费观看 | 海角国精产品一区一区三区糖心| 色欲av亚洲一区无码少妇| 久久久久亚洲av无码尤物| 在线观看国产精品91| 五码人妻少妇久久五码| 求网址日韩精品在线你懂的| 国产视频在线观看一区二区三区| 日韩一二三四区在线观看| 女人天堂av免费在线| 久久综合国产精品一区二区| 日本一区二区三区视频网站| 婷婷综合另类小说色区| 人妻丰满熟妇av无码区不卡| 一本一道波多野结衣一区| 亚洲欧洲日产国码无码AV一| 无码伊人66久久大杳蕉网站谷歌| 国产三级伦理视频在线| 亚洲天堂男人的av天堂| 国产日产在线视频一区| 极品粉嫩嫩模大尺度无码视频| а√天堂资源官网在线资源| 午夜福利92国语| 欧美黑人xxxx性高清版| 亚洲国产精品色一区二区| av高潮一区二区三区|