GeoServer地圖開發解決方案(四):發佈Web地圖服務(WMS)篇

GeoServer 是 OpenGIS Web 服務器規範的 J2EE 實現的社區開源項目,利用 GeoServer 能夠方便的發佈地圖數據,容許用戶對特徵數據進行更新、刪除、插入操做,經過 GeoServer 能夠比較容易的在用戶之間迅速共享空間地理信息。本系列博文提供全面、完善的GeoServer部署解決方案,包括GeoServer環境搭建、地圖數據處理、部署地圖數據、發佈地圖服務等功能的詳細介紹。文中內容來自本人工做中經過網絡學習後總結而成,若有類同純屬巧合,同時歡迎廣大網友前來交流。
        
 
 
   系列目錄導航:
 
1、發佈地圖圖層
  在上一篇《 GeoServer地圖開發解決方案(三):部署地圖數據篇》中你們都看到基於工做空間的數據存儲器管理的地圖圖層,還提到可在圖層列表中發佈地圖圖層爲WMS服務,對於已經發布過的地圖數據還能夠進行修改發佈。
        
  從上圖上能夠看到每一個圖層有「Published」屬性,表示當前圖層是否發佈,其後還有操做鏈接「Publish again」或「Publish」,表示對以及發佈的圖層進行再次發佈,或者對沒有發佈的圖層進行發佈。
  要發佈地圖圖層能夠在圖層列表中點擊「Publish」進入圖層發佈界面,這裏須要注意的就是在進行圖層發佈的時候有幾個必填的參數,分別爲Declared SRS、Bounding Boxes等。Declared SRS表示當前發佈的地圖圖層將採用何種地理空間引用標準,這裏一般都是使用的EPSG:4326標準;Bounding Boxes表示當前圖層的經度、緯度範圍,這兩項值能夠直接經過GeoServer提供的工具自動獲取到。詳細以下圖所示:
        
2、發佈地圖樣式
  之因此要應用樣式,主要是解決中文編碼的問題以及某些地圖數據須要作特別的處理,一般能夠修改樣式文件實現,這裏大多數的圖層使用默認的樣式基本不會有問題,某些圖層使用默認的樣式卻不能正確的發佈爲WMS服務,就須要使用前面所介紹的經過uDig對地圖數據的樣式進行編輯並導出樣式文件(.sld),而後再GeoServer中發佈新的樣式,並在圖層發佈或者是編輯圖層的時候就使用本身發佈的樣式。
 
  經過樣式列表界面的「Add a new style」就可進入下面的樣式發佈界面。以下圖所示:
        
 
3、應用地圖樣式
  應用地圖樣式很是簡單,在添加地圖圖層或者編輯地圖圖層的時候,經過「Default style」功能選項進行地圖圖層的樣式設置。詳細以下圖所示:    
        
 
4、預覽地圖圖層
  經過GeoServer管理臺左邊功能導航「Layer Preview」可進入圖層閱覽列表,在此列表中部分類型地圖圖層還提供導出爲KML和GML格式的地圖數據。
        
 
  從上圖所示中點擊圖層所對應的「OpenLayers」就能夠打開所對應地圖圖層的預覽界面,上圖圖層列表的地圖圖層是爲了測試而部署的,好比須要查看重慶大區界地圖圖層,那麼能夠直接預覽大區邊界地圖圖層就能夠了,也就是上圖中的名爲「cq:dqjx_polyline」的圖層。
        
 
  如上面預覽地圖圖層,實際上就是加載了單個地圖圖層,其對應的URL地址以下表格所示:

 

WMS 服務的單個地圖圖層加載分析表
&width=512&height=421&srs=EPSG:4326&format=application/openlayers
參數名
參數值
參數說明
service
WMS
表示該服務爲WMS服務
Version
1.0.1
WMS服務版本
request
GetMap
WMS服務請求接口類型,GetMap表示請求地圖數據
layers
cq:dqjx_polyline
WMS所請求的地圖圖層
Styles
 
圖層樣式
bbox
105.286,28.163,110.194,32.203
請求的地圖圖層範圍
width
512
寬度
height
512
高度
srs
EPSG:4326
地理空間引用標準
format
application/openlayers
地圖響應格式(openlayers)

 

 
5、多圖層疊加呈現
  在訪問WMS服務的時候一般都是將多個地圖圖層進行疊加組合,才能完成一個相對完整的地圖界面呈現。在訪問WMS服務的時候圖層疊加很是簡單,就是在WMS請求地址的layers參數後面用逗號(「,」)將多個圖層進行分割就能夠了。下面的WMS服務請求地址就疊加了3個地圖圖層:
http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=cq:dqjx_polyline,cq:cszgddx_polyline,cq:cszgd_polyline
&styles=&bbox=105.286,28.163,110.194,32.203&width=512&height=421&srs=EPSG:4326&format=application/openlayers
 
  layers=cq:dqjx_polyline,cq:cszgddx_polyline,cq:cszgd_polyline,表示此WMS服務請求是由三個地圖圖層疊加組合而成的。最終的預覽效果以下圖:
        
 
  本篇就介紹到這裏,但願能夠經過本文拋磚引玉,期待關於GeoServer地圖數據部署更加精彩的文章。下一篇將詳細介紹如何經過Silverlight技術實現Web地圖客戶端。
 

本文出自 「beniao」 博客,請務必保留此出處http://beniao.blog.51cto.com/389148/477997html

相關文章
相關標籤/搜索