• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于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),對(duì)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),是對(duì)GeoServer軟件的有益補(bǔ)充。

      GeoServer;Web Map Service;等值面

      國(guó)家科技支撐計(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)行疊加。

      針對(duì)以上問題,本文依據(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)平臺(tái)中的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í)請(qǐng)求多個(gè)WMS服務(wù),并將返回的地圖圖像疊加,在一個(gè)視圖內(nèi)顯示。

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

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

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

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

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

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

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

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

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

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

      等值面服務(wù)的核心在于GetMap操作,在GetMap中使用空間插值算法插值、分級(jí),并使用渲染類將結(jié)果分級(jí)著色,渲染成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ù)算法名稱,獲取插值算法對(duì)象實(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)重插值)算法,對(duì)瀏覽器視圖范圍內(nèi)的離散點(diǎn)進(jìn)行插值、分級(jí)、著色,并返回PNG格式的地圖圖像,最后由瀏覽器完成地圖的顯示。

      根據(jù)上述設(shè)計(jì)完成代碼,實(shí)現(xiàn)服務(wù)程序。此外,還須依據(jù)GeoServer的二次開發(fā)要求,使用application-Context.xml文件,將該服務(wù)注冊(cè)到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,對(duì)應(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從地址中解析出所需信息,包括:請(qǐng)求的圖層、請(qǐng)求的服務(wù)名、請(qǐng)求的操作,以及請(qǐng)求的區(qū)域坐標(biāo)、投影等信息,并根據(jù)服務(wù)名查找對(duì)應(yīng)的類,執(zhí)行其中的GetMap函數(shù)。最后,GeoServer向?yàn)g覽器響應(yīng)請(qǐ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)作為測(cè)試數(shù)據(jù),包含坐標(biāo)值和離散點(diǎn)值,以Shape文件格式存儲(chǔ),并導(dǎo)入GeoServer的新圖層中,命名為sf:contours;

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

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

      在實(shí)驗(yàn)中,使用了某地的日降雨量數(shù)據(jù),依據(jù)數(shù)值的頻數(shù)分布,將數(shù)據(jù)分為5級(jí):1級(jí)[0~0.1]、2級(jí)[0.1~1]、3級(jí)[1~2]、4級(jí)[2~5]、5級(jí)[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ù)值變化趨勢(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ù)值變化趨勢(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)功能。本文針對(duì)此問題,根據(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].測(cè)繪科學(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].測(cè)繪科學(xué),2011.09,36(5):193-196

      [5]胡剛,趙剛,宋慧.不同插值方法對(duì)降水量空間不確定性的影響[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)視
      漢語國(guó)俗語義在維吾爾語中的等值再現(xiàn)
      語言與翻譯(2014年1期)2014-07-10 13:06:11
      芦溪县| 宣威市| 仙游县| 承德市| 万荣县| 金山区| 安福县| 修武县| 太湖县| 青冈县| 鹰潭市| 江孜县| 五峰| 梓潼县| 双柏县| 麟游县| 阿瓦提县| 山阳县| 隆子县| 铁岭县| 泊头市| 德钦县| 天柱县| 巫山县| 南靖县| 喀喇| 从江县| 万安县| 仁寿县| 原平市| 宁远县| 贺州市| 黄浦区| 南陵县| 石阡县| 河西区| 威信县| 马边| 穆棱市| 三穗县| 突泉县|