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

        ?

        基于GeoServer的等值面圖服務(wù)實(shí)現(xiàn)

        2015-09-16 08:22:10陳寧江
        現(xiàn)代計(jì)算機(jī) 2015年12期
        關(guān)鍵詞:等值瀏覽器插值

        羅 泉,陳寧江

        基于GeoServer的等值面圖服務(wù)實(shí)現(xiàn)

        羅泉,陳寧江

        (廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院,南寧530004)

        根據(jù)OGC WMS標(biāo)準(zhǔn),對GeoServer的WMS服務(wù)進(jìn)行擴(kuò)展,實(shí)現(xiàn)基于IDW算法的動(dòng)態(tài)生成等值面功能,并封裝成WMS服務(wù),使用戶可以從網(wǎng)絡(luò)進(jìn)行調(diào)用和瀏覽等值面圖。應(yīng)用實(shí)例表明,具有實(shí)時(shí)插值,生成等值面圖像,動(dòng)態(tài)與地圖數(shù)據(jù)疊加等特點(diǎn),是對GeoServer軟件的有益補(bǔ)充。

        GeoServer;Web Map Service;等值面

        國家科技支撐計(jì)劃課題(No.2015BAH55F02)、廣西高校優(yōu)秀人才資助計(jì)劃(No.[2011]40)、廣西科學(xué)研究與技術(shù)開發(fā)計(jì)劃項(xiàng)目(桂科軟13180015)

        0 引言

        等值面的生成是GIS空間分析中常用的方法。文獻(xiàn)[1]利用商業(yè)軟件ArcGIS的功能,實(shí)現(xiàn)了降雨量等值面的繪制,功能滿足需求但方案的實(shí)施成本高。文獻(xiàn)[2]提出基于OGC WPS(Web Processing Service)標(biāo)準(zhǔn)[3]實(shí)現(xiàn)常用空間分析功能,并利用免費(fèi)開源的GeoServer實(shí)現(xiàn)了緩沖區(qū)分析功能。然而,依據(jù)WPS標(biāo)準(zhǔn),經(jīng)過空間分析后生成的柵格圖像以超鏈接的形式返回,無法供瀏覽器直接與其他地圖數(shù)據(jù)結(jié)合顯示。在實(shí)際應(yīng)用中,等值面圖,如溫度分布圖、降水量分布圖等,都需要與實(shí)際地圖影像進(jìn)行疊加,以便下一步的分析。使用WPS標(biāo)準(zhǔn)生成的柵格圖像,不便直接在地圖上進(jìn)行定位并與地圖影像進(jìn)行疊加。

        針對以上問題,本文依據(jù)OGC(Open GIS Consortium)WMS(Web Map Service)標(biāo)準(zhǔn),使用IDW插值算法,設(shè)計(jì)并實(shí)現(xiàn)動(dòng)態(tài)生成等值面的功能,制作成GeoServer軟件插件,封裝成WMS服務(wù),供用戶通過網(wǎng)絡(luò)進(jìn)行調(diào)用。

        1 工作背景

        為解決各種異構(gòu)平臺中的GIS空間數(shù)據(jù)共享問題,開放地理空間信息聯(lián)盟OGC推出了一系列基于WebService技術(shù)的空間數(shù)據(jù)交互操作標(biāo)準(zhǔn),如WMS、WFS(Web Feature Service)、WCS(Web Coverage Service)、WPS等。WMS即網(wǎng)絡(luò)地圖服務(wù),提供了一個(gè)標(biāo)準(zhǔn)統(tǒng)一的數(shù)據(jù)訪問接口,定義了客戶端通過HTTP協(xié)議從地圖服務(wù)器獲取地圖圖像的標(biāo)準(zhǔn)規(guī)范。WMS服務(wù)既可動(dòng)態(tài)生成地圖,也可直接返回靜態(tài)地圖數(shù)據(jù)。這些地圖既可以使用PNG、JPEG等圖像格式來呈現(xiàn),也可以使用KML、SVG等矢量圖形來呈現(xiàn)。一個(gè)基本的WMS服務(wù)包括三個(gè)基礎(chǔ)操作:GetCapabilities、GetMap、Get-FeatureInfo。GetCapabilities返回服務(wù)的元數(shù)據(jù)信息,元數(shù)據(jù)包括服務(wù)支持的操作、參數(shù)以及有效的圖層;GetMap返回指定區(qū)域的地圖圖像;GetFeatureInfo則返回用戶指定的地理要素信息??蛻舳丝赏瑫r(shí)請求多個(gè)WMS服務(wù),并將返回的地圖圖像疊加,在一個(gè)視圖內(nèi)顯示。

        GeoServer是OGC標(biāo)準(zhǔn)的一個(gè)J2EE實(shí)現(xiàn)[4],采用Spring Web MVC開源框架,所有的WMS請求均由Spring Web MVC的核心控制類DispatcherServlet進(jìn)行派發(fā),轉(zhuǎn)到GeoServer的核心類ows.Dispatcher中處理。下圖的UML時(shí)序圖描述是一個(gè)默認(rèn)的WMS的GetMap請求響應(yīng)過程:

        (1)瀏覽器利用HTTP協(xié)議,發(fā)起GetMap請求。

        (2)ows.Dispatcher接收到請求后,調(diào)用wms.DefaultWebMapService的GetMap函數(shù)進(jìn)行處理,并最終獲得一個(gè)WebMap對象,該對象封裝了用戶所請求的地圖空間數(shù)據(jù)。

        (3)ows.Dispatche選用合適的策略,調(diào)用ows.Response的Write函數(shù),將WebMap對象渲染成PNG或JPEG等格式的圖片,返回給瀏覽器顯示。

        wms.DefaultWebMapService由GeoServer核心根據(jù)服務(wù)名稱,利用反射技術(shù)動(dòng)態(tài)加載,通過GetMap操作,向?yàn)g覽器返回請求區(qū)域的地圖圖像。若實(shí)現(xiàn)等值面的動(dòng)態(tài)生成、定位及顯示,則需要依照WMS標(biāo)準(zhǔn),實(shí)現(xiàn)GetMap操作,在GetMap中完成空間插值、圖形渲染等功能。

        圖1 WMS GetMap請求響應(yīng)UML時(shí)序圖

        2 等值面服務(wù)的設(shè)計(jì)與實(shí)現(xiàn)

        等值面是以空間為定義域的連續(xù)函數(shù)的等位集,一個(gè)等值面里的每一個(gè)點(diǎn),其數(shù)值是一樣的,使用同樣的顏色表示。單獨(dú)的等值面圖能表示數(shù)值的空間分布及空間變化趨勢,連續(xù)的等值面圖能表示數(shù)值的空間、時(shí)間內(nèi)的分布及變化趨勢,常用于水文、氣象、勘探等行業(yè)中。生成等值面其難點(diǎn)在于插值算法,受空間多種因素的影響,同一個(gè)樣本集采用不同的插值算法,其預(yù)測值與實(shí)測值的誤差不同[5]。為提高插值的精度,需要事先對樣本集進(jìn)行分析以選擇合適插值算法。本文使用IDW算法闡述基于GeoServer設(shè)計(jì)和實(shí)現(xiàn)等值面服務(wù)的過程。

        等值面動(dòng)態(tài)生成服務(wù)被設(shè)計(jì)成為一個(gè)通用的WMS服務(wù),參數(shù)支持:INTERVALS(分級量值)、INTERVAL_COLORS(分級顏色)、INTERPOLATE(插值方法),實(shí)現(xiàn)WMS的三個(gè)基本操作,依賴于空間插值算法和渲染類,UML類圖如下:

        圖2 等值面服務(wù)UML類圖

        等值面服務(wù)的核心在于GetMap操作,在GetMap中使用空間插值算法插值、分級,并使用渲染類將結(jié)果分級著色,渲染成PNG圖像。為今后能支持更多的空間插值算法、方便擴(kuò)展,在設(shè)計(jì)上采用了工廠模式,運(yùn)用Spring框架的IoC(Inversion of Control控制反轉(zhuǎn))機(jī)制,可以做到在不修改原有源代碼的情況下新增空間插值方法。同時(shí),使用緩存類來緩存渲染的結(jié)果,在插值前判斷緩存中是否有渲染結(jié)果,如果有則直接返回,如果沒有則進(jìn)行插值并渲染,利用空間來縮短響應(yīng)時(shí)間。GetMap的偽代碼片段如下:

        public WebMap GetMap(GetMapRequest request)throws ServletException,

        IOException{

        String cachekey=getCacheKey(request);//根據(jù)輸入?yún)?shù)來獲取緩存的索引值

        if(ResultCache.InCache(cachekey)){

        return ResultCache.Get(cachekey);//緩存中有處理結(jié)果,可直接返回

        }else{

        //獲取需要使用的插值算法名稱

        String iName=GetParam(request,”INTERPOLATE”);

        //根據(jù)算法名稱,獲取插值算法對象實(shí)例

        IInterpolate interpolator=InterpolateFactory.GetInterpolation(iName);

        ……

        //執(zhí)行插值操作

        interpolateResult=interpolator.Interpolate(param1,param2,…);

        ……

        //將插值結(jié)果渲染成圖像并返回

        Return Image.RenderImage(interpolateResult);

        }

        }

        該服務(wù)根據(jù)瀏覽器提交參數(shù),使用IDW(Inverse Distance Weighted,反距離權(quán)重插值)算法,對瀏覽器視圖范圍內(nèi)的離散點(diǎn)進(jìn)行插值、分級、著色,并返回PNG格式的地圖圖像,最后由瀏覽器完成地圖的顯示。

        根據(jù)上述設(shè)計(jì)完成代碼,實(shí)現(xiàn)服務(wù)程序。此外,還須依據(jù)GeoServer的二次開發(fā)要求,使用application-Context.xml文件,將該服務(wù)注冊到GeoServer中:

        〈bean id="contoursurfaceService"class="com.geoExtension.wms.ContoursurfaceService"〉

        〈bean id="contoursurfaceDescriptor"class="org.geoserver. platform.Service"〉

        〈constructor-arg index="0"value="contoursurface"/〉

        〈constructor-arg index="1"ref="contoursurfaceService"/〉

        〈constructor-arg index="2"value="1.1.1"/〉

        〈constructor-arg index="3"〉

        〈list〉

        〈value〉GetCapabilities〈/value〉

        〈value〉GetMap〈/value〉

        〈value〉GetFeatureInfo〈/value〉

        〈/list〉

        〈/constructor-arg〉

        〈/bean〉

        該配置片段告訴GeoServer,等值面服務(wù)名為contoursurface,對應(yīng)的類為com.geoExtension.wms.ContoursurfaceService,支持WMS 1.1.1,包含GetCapabilities、GetMap、GetFeatureInfo操作。最后,將編譯的程序集打包為jar格式文件,拷貝到GeoServer的WEB-INFLib目錄中,重啟GeoServer,即完成了等值面動(dòng)態(tài)生成服務(wù)的安裝。

        用戶只需在瀏覽器地址欄中輸入給定地址,即可調(diào)用等值面服務(wù)。GeoServer從地址中解析出所需信息,包括:請求的圖層、請求的服務(wù)名、請求的操作,以及請求的區(qū)域坐標(biāo)、投影等信息,并根據(jù)服務(wù)名查找對應(yīng)的類,執(zhí)行其中的GetMap函數(shù)。最后,GeoServer向?yàn)g覽器響應(yīng)請求區(qū)域內(nèi)的等值面圖形。流程如圖3所示意。

        圖3 GeoServer加載、執(zhí)行等值面服務(wù)流程

        3 實(shí)驗(yàn)

        為驗(yàn)證能否利用等值面服務(wù)生成等值面圖像,驗(yàn)證該等值面圖像能否和其他地圖疊加顯示,設(shè)計(jì)如下實(shí)驗(yàn)方案:

        (1)使用PC作為服務(wù)器,配置為CPU 2.5GHz 4核,內(nèi)存4G

        (2)支撐軟件為Win 7操作系統(tǒng),Java 7運(yùn)行庫,Jetty 6.1,GeoServer 2.5

        (3)選用800個(gè)離散點(diǎn)作為測試數(shù)據(jù),包含坐標(biāo)值和離散點(diǎn)值,以Shape文件格式存儲(chǔ),并導(dǎo)入GeoServer的新圖層中,命名為sf:contours;

        (4)根據(jù)離散數(shù)值的頻數(shù)分布,將離散點(diǎn)值分級;

        (5)瀏覽器端使用開源js框架OpenLayers請求等值面服務(wù),獲取相應(yīng)圖像并顯示。

        在實(shí)驗(yàn)中,使用了某地的日降雨量數(shù)據(jù),依據(jù)數(shù)值的頻數(shù)分布,將數(shù)據(jù)分為5級:1級[0~0.1]、2級[0.1~1]、3級[1~2]、4級[2~5]、5級[5~15],并為每個(gè)取值區(qū)間設(shè)置一種顏色。最后,用戶使用OpenLayers調(diào)用等值面生成服務(wù),OpenLayers獲得等值面圖像并顯示。

        圖4為樣本集在二維平面上的分布情況,每一個(gè)點(diǎn)代表一個(gè)樣本的位置。從圖中可以看到,樣本并不是均勻分布,部分區(qū)域密集,而右上角區(qū)域、底部區(qū)域只有零星的幾個(gè)樣本。點(diǎn)擊樣本熱點(diǎn)可以查看樣本的數(shù)值,但無法獲知圖中任意空白區(qū)域的大概數(shù)值,無法根據(jù)樣本集直觀分析出數(shù)值變化趨勢。

        圖5為等值面服務(wù)根據(jù)樣本集的數(shù)值,在可視范圍內(nèi)使用IDW算法插值而動(dòng)態(tài)生成的等值面圖,圖中的5種顏色代表5種取值區(qū)間,顏色由淺到深依次按低到高次序表示不同的樣本值區(qū)間。根據(jù)該圖像,可明顯看出西北方向區(qū)域降雨量較小,東南方向區(qū)域降雨量較大。圖6為等值面圖和樣本集地區(qū)的地形圖實(shí)時(shí)疊加顯示的效果。根據(jù)該圖像,很直觀看出該地區(qū)在當(dāng)日的降雨量分布情況。

        圖4 樣本集分布圖

        圖5 等值面圖

        圖6 等值面、地圖疊加效果

        通過實(shí)驗(yàn)可以看到,該等值面服務(wù)能夠根據(jù)樣本集的離散數(shù)據(jù),以及用戶的輸入?yún)?shù),動(dòng)態(tài)生成等值面圖像,并能實(shí)時(shí)與樣本集所在地區(qū)的地形圖疊加顯示,直觀地表現(xiàn)出區(qū)域內(nèi)的數(shù)值變化趨勢,已達(dá)到了最初的設(shè)計(jì)目標(biāo)。

        4 結(jié)語

        隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)發(fā)展,WebGIS技術(shù)已普遍應(yīng)用于人們生活中。GeoServer軟件作為一個(gè)開源的J2EE應(yīng)用,遵循OGC標(biāo)準(zhǔn),支持插件式的二次開發(fā),廣泛應(yīng)用于科學(xué)研究、小型的商業(yè)WebGIS應(yīng)用中,是各類WebGIS解決方案中的一個(gè)廉價(jià)的選擇。等值面是GIS應(yīng)用中常用的空間分析技術(shù),但GeoServer并未提供相關(guān)功能。本文針對此問題,根據(jù)GeoServer二次開發(fā)接口和WMS規(guī)范,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)等值面生成服務(wù),供瀏覽器調(diào)用并顯示。實(shí)驗(yàn)結(jié)果顯示,該服務(wù)實(shí)現(xiàn)了預(yù)期的效果,是GeoServer軟件的一個(gè)有益補(bǔ)充。

        [1]任斌,吳可,陳潔.基于ArcGIS的降雨量等值面生成系統(tǒng)研究[J].信息技術(shù),2013(9):125~128

        [2]姜超,徐青,等.基于OGC WPS的GIS空間分析方法[J].測繪科學(xué),2011,11,36(6):198~200

        [3]OGC.OGC Standard[EB/OL].http://www.opengeospatial.org/standards/

        [4]張大鵬,張錦,等.開源WebGIS軟件應(yīng)用開發(fā)技術(shù)和方法研究[J].測繪科學(xué),2011.09,36(5):193-196

        [5]胡剛,趙剛,宋慧.不同插值方法對降水量空間不確定性的影響[J].濟(jì)南大學(xué)學(xué)報(bào)(自然科學(xué)版),2012.10,26(4):428~432

        [6]張凡,胡春陽,韓軍.高性能互操作的OGC WMS系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2010,27(5):1732~1736

        GeoServer;Web Map Service;Contour Surface

        Implementation of Contour Surface Service Based on GeoServer

        LUO Quan,CHEN Ning-jiang

        (School of Computer and Electronic Information,Guangxi University,Nanning 530004)

        According to OGC WMS standards,extends the GeoServer WMS,and implements a GeoServer plugin which is used generating contour surface based on IDW algorithm and encapsulated into a WMS Service.Users can call the WMS Service from the network and browse the result.The experimental results show that the plug-in with real-time interpolation,it can produce the equivalent surface image,superimpose with map data dynamically.It is good for GeoServer software.

        1007-1423(2015)12-0066-05

        10.3969/j.issn.1007-1423.2015.12.015

        羅泉(1979-),男,廣西南寧人,在讀碩士研究生,研究方向?yàn)檐浖こ獭eb服務(wù)

        陳寧江(1975-),男,廣西南寧人,博士,教授,研究方向?yàn)檐浖こ獭⒅虚g件、網(wǎng)絡(luò)分布式計(jì)算

        2015-02-26

        2015-04-07

        猜你喜歡
        等值瀏覽器插值
        異步電動(dòng)機(jī)等值負(fù)載研究
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
        一種改進(jìn)FFT多譜線插值諧波分析方法
        電網(wǎng)單點(diǎn)等值下等效諧波參數(shù)計(jì)算
        基于四項(xiàng)最低旁瓣Nuttall窗的插值FFT諧波分析
        環(huán)球?yàn)g覽器
        再見,那些年我們嘲笑過的IE瀏覽器
        基于戴維南等值模型的靜穩(wěn)極限在線監(jiān)視
        漢語國俗語義在維吾爾語中的等值再現(xiàn)
        語言與翻譯(2014年1期)2014-07-10 13:06:11
        欧美日韩高清一本大道免费| 亚洲av中文无码乱人伦在线播放| 越南女子杂交内射bbwxz| 久久精品无码一区二区2020| 久久九九av久精品日产一区免费 | 少妇太爽了在线观看免费视频| 国产啪精品视频网站免| 中文字幕人妻精品一区| 国产对白国语对白| 老头巨大挺进莹莹的体内免费视频| 亚洲国产成人精品激情| 亚洲av网一区二区三区成人| 亚洲国产av无码精品| 中出内射颜射骚妇| 久久亚洲国产精品123区| 亚洲精品一区二区三区在线观| 亚洲av日韩综合一区久热| 又硬又粗又大一区二区三区视频 | 国产精品黑丝美女av| 18禁在线永久免费观看| 国产精品麻豆成人av电影艾秋 | 久久久精品人妻一区二区三区游戏| 亚洲av无码国产精品永久一区| 麻豆精产国品| 熟女少妇丰满一区二区| 亚洲成人免费av影院| 图片区小说区激情区偷拍区| 乱人伦中文字幕在线不卡网站| 人妻体体内射精一区中文字幕 | 国产98在线 | 日韩| 一级一级毛片无码免费视频| 亚洲av手机在线一区| 国产精品久久久久久久久绿色| 亚洲中文字幕无码久久2020| 国产精品制服一区二区| 精品国产精品三级在线专区| 欧美性巨大╳╳╳╳╳高跟鞋| 亚洲tv精品一区二区三区| 日韩av中文字幕波多野九色| 日本护士xxxx视频| 69av视频在线观看|