999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GeoServer的等值面圖服務實現

2015-09-16 08:22:10陳寧江
現代計算機 2015年12期
關鍵詞:服務

羅 泉,陳寧江

基于GeoServer的等值面圖服務實現

羅泉,陳寧江

(廣西大學計算機與電子信息學院,南寧530004)

根據OGC WMS標準,對GeoServer的WMS服務進行擴展,實現基于IDW算法的動態生成等值面功能,并封裝成WMS服務,使用戶可以從網絡進行調用和瀏覽等值面圖。應用實例表明,具有實時插值,生成等值面圖像,動態與地圖數據疊加等特點,是對GeoServer軟件的有益補充。

GeoServer;Web Map Service;等值面

國家科技支撐計劃課題(No.2015BAH55F02)、廣西高校優秀人才資助計劃(No.[2011]40)、廣西科學研究與技術開發計劃項目(桂科軟13180015)

0 引言

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

針對以上問題,本文依據OGC(Open GIS Consortium)WMS(Web Map Service)標準,使用IDW插值算法,設計并實現動態生成等值面的功能,制作成GeoServer軟件插件,封裝成WMS服務,供用戶通過網絡進行調用。

1 工作背景

為解決各種異構平臺中的GIS空間數據共享問題,開放地理空間信息聯盟OGC推出了一系列基于WebService技術的空間數據交互操作標準,如WMS、WFS(Web Feature Service)、WCS(Web Coverage Service)、WPS等。WMS即網絡地圖服務,提供了一個標準統一的數據訪問接口,定義了客戶端通過HTTP協議從地圖服務器獲取地圖圖像的標準規范。WMS服務既可動態生成地圖,也可直接返回靜態地圖數據。這些地圖既可以使用PNG、JPEG等圖像格式來呈現,也可以使用KML、SVG等矢量圖形來呈現。一個基本的WMS服務包括三個基礎操作:GetCapabilities、GetMap、Get-FeatureInfo。GetCapabilities返回服務的元數據信息,元數據包括服務支持的操作、參數以及有效的圖層;GetMap返回指定區域的地圖圖像;GetFeatureInfo則返回用戶指定的地理要素信息。客戶端可同時請求多個WMS服務,并將返回的地圖圖像疊加,在一個視圖內顯示。

GeoServer是OGC標準的一個J2EE實現[4],采用Spring Web MVC開源框架,所有的WMS請求均由Spring Web MVC的核心控制類DispatcherServlet進行派發,轉到GeoServer的核心類ows.Dispatcher中處理。下圖的UML時序圖描述是一個默認的WMS的GetMap請求響應過程:

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

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

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

wms.DefaultWebMapService由GeoServer核心根據服務名稱,利用反射技術動態加載,通過GetMap操作,向瀏覽器返回請求區域的地圖圖像。若實現等值面的動態生成、定位及顯示,則需要依照WMS標準,實現GetMap操作,在GetMap中完成空間插值、圖形渲染等功能。

圖1 WMS GetMap請求響應UML時序圖

2 等值面服務的設計與實現

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

等值面動態生成服務被設計成為一個通用的WMS服務,參數支持:INTERVALS(分級量值)、INTERVAL_COLORS(分級顏色)、INTERPOLATE(插值方法),實現WMS的三個基本操作,依賴于空間插值算法和渲染類,UML類圖如下:

圖2 等值面服務UML類圖

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

public WebMap GetMap(GetMapRequest request)throws ServletException,

IOException{

String cachekey=getCacheKey(request);//根據輸入參數來獲取緩存的索引值

if(ResultCache.InCache(cachekey)){

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

}else{

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

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

//根據算法名稱,獲取插值算法對象實例

IInterpolate interpolator=InterpolateFactory.GetInterpolation(iName);

……

//執行插值操作

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

……

//將插值結果渲染成圖像并返回

Return Image.RenderImage(interpolateResult);

}

}

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

根據上述設計完成代碼,實現服務程序。此外,還須依據GeoServer的二次開發要求,使用application-Context.xml文件,將該服務注冊到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,等值面服務名為contoursurface,對應的類為com.geoExtension.wms.ContoursurfaceService,支持WMS 1.1.1,包含GetCapabilities、GetMap、GetFeatureInfo操作。最后,將編譯的程序集打包為jar格式文件,拷貝到GeoServer的WEB-INFLib目錄中,重啟GeoServer,即完成了等值面動態生成服務的安裝。

用戶只需在瀏覽器地址欄中輸入給定地址,即可調用等值面服務。GeoServer從地址中解析出所需信息,包括:請求的圖層、請求的服務名、請求的操作,以及請求的區域坐標、投影等信息,并根據服務名查找對應的類,執行其中的GetMap函數。最后,GeoServer向瀏覽器響應請求區域內的等值面圖形。流程如圖3所示意。

圖3 GeoServer加載、執行等值面服務流程

3 實驗

為驗證能否利用等值面服務生成等值面圖像,驗證該等值面圖像能否和其他地圖疊加顯示,設計如下實驗方案:

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

(2)支撐軟件為Win 7操作系統,Java 7運行庫,Jetty 6.1,GeoServer 2.5

(3)選用800個離散點作為測試數據,包含坐標值和離散點值,以Shape文件格式存儲,并導入GeoServer的新圖層中,命名為sf:contours;

(4)根據離散數值的頻數分布,將離散點值分級;

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

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

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

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

圖4 樣本集分布圖

圖5 等值面圖

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

通過實驗可以看到,該等值面服務能夠根據樣本集的離散數據,以及用戶的輸入參數,動態生成等值面圖像,并能實時與樣本集所在地區的地形圖疊加顯示,直觀地表現出區域內的數值變化趨勢,已達到了最初的設計目標。

4 結語

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

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

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

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

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

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

[6]張凡,胡春陽,韓軍.高性能互操作的OGC WMS系統的研究與實現[J].計算機應用研究,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-),男,廣西南寧人,在讀碩士研究生,研究方向為軟件工程、Web服務

陳寧江(1975-),男,廣西南寧人,博士,教授,研究方向為軟件工程、中間件、網絡分布式計算

2015-02-26

2015-04-07

猜你喜歡
服務
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
主站蜘蛛池模板: 中文字幕一区二区人妻电影| 国产午夜不卡| 美女内射视频WWW网站午夜 | 国产中文一区二区苍井空| AV天堂资源福利在线观看| 国产毛片高清一级国语 | 亚洲成网站| 国产精品部在线观看| 无码不卡的中文字幕视频| 欧美午夜视频在线| 女同久久精品国产99国| 性做久久久久久久免费看| 国产麻豆精品在线观看| 这里只有精品在线播放| 精品久久国产综合精麻豆| 精品国产美女福到在线不卡f| 狠狠综合久久| 成人夜夜嗨| 热久久综合这里只有精品电影| 国产真实乱了在线播放| 亚洲视频四区| 高清码无在线看| 人妻中文字幕无码久久一区| 中字无码av在线电影| 中文字幕第4页| 国产精品一线天| 欧美成人a∨视频免费观看| 小说区 亚洲 自拍 另类| 亚洲一区黄色| 国产美女在线观看| 国产屁屁影院| 露脸一二三区国语对白| 亚洲三级成人| 91亚洲影院| 欧美激情视频二区| 亚洲国产天堂久久综合226114| 永久免费无码成人网站| 精品国产成人a在线观看| 国产高潮视频在线观看| 日本色综合网| 亚洲不卡无码av中文字幕| 国产成人福利在线| 亚洲视频免费在线看| 婷婷激情五月网| 无码中文AⅤ在线观看| 日本尹人综合香蕉在线观看| 久久综合激情网| 国产网友愉拍精品| 久久一日本道色综合久久| 免费aa毛片| 亚洲欧州色色免费AV| 欧美成人免费| 五月婷婷丁香色| 国产一区三区二区中文在线| 88av在线看| 亚洲av无码成人专区| 日本伊人色综合网| 五月六月伊人狠狠丁香网| 欧美亚洲国产一区| 日韩黄色大片免费看| 欧美性天天| 女人18毛片一级毛片在线 | 国产精品亚洲精品爽爽| 国产成人精品无码一区二| 天堂成人av| 国产尤物jk自慰制服喷水| 亚洲精品自拍区在线观看| 五月天丁香婷婷综合久久| 亚洲综合日韩精品| 在线免费观看AV| 国产99视频精品免费视频7| 亚洲精品在线影院| 日韩第九页| 在线观看av永久| a级毛片免费网站| 亚洲视频影院| 国产激爽爽爽大片在线观看| 日本亚洲成高清一区二区三区| 国产在线拍偷自揄拍精品| 男人天堂伊人网| 亚洲Va中文字幕久久一区 | 美女无遮挡拍拍拍免费视频|