GeoServer 是 OpenGIS Web 服務器規範的 J2EE 實現的社區開源項目,利用 GeoServer 可以方便的發佈地圖數據,允許用戶對特徵數據進行更新、刪除、插入操作,通過 GeoServer 可以比較容易的在用戶之間迅速共享空間地理信息。
方法/步驟
在上一篇經驗中,基於工作空間的數據存儲器管理的地圖圖層,還提到可在圖層列表中發佈地圖圖層為WMS服務,對於已經發布過的地圖數據還可以進行修改發佈。
從上圖上可以看到每個圖層有“Published”屬性,表示當前圖層是否發佈,其後還有操作連接“Publish again”或“Publish”,表示對以及發佈的圖層進行再次發佈,或者對沒有發佈的圖層進行發佈。
要發佈地圖圖層可以在圖層列表中點擊“Publish”進入圖層發佈界面,這裡需要注意的就是在進行圖層發佈的時候有幾個必填的參數,分別為Declared SRS、Bounding Boxes等。Declared SRS表示當前發佈的地圖圖層將採用何種地理空間引用標準,這裡通常都是使用的EPSG:4326標準;Bounding Boxes表示當前圖層的經度、緯度範圍,這兩項值可以直接通過GeoServer提供的工具自動獲取到。詳細如下圖所示:
發佈地圖樣式
之所以要應用樣式,主要是解決中文編碼的問題以及某些地圖數據需要做特別的處理,通常可以修改樣式文件實現,這裡大多數的圖層使用默認的樣式基本不會有問題,某些圖層使用默認的樣式卻不能正確的發佈為WMS服務,就需要使用前面所介紹的通過uDig對地圖數據的樣式進行編輯並導出樣式文件(.sld),然後再GeoServer中發佈新的樣式,並在圖層發佈或者是編輯圖層的時候就使用自己發佈的樣式。
通過樣式列表界面的“Add a new style”就可進入下面的樣式發佈界面。如下圖所示:
應用地圖樣式
應用地圖樣式非常簡單,在添加地圖圖層或者編輯地圖圖層的時候,通過“Default style”功能選項進行地圖圖層的樣式設置。詳細如下圖所示:
預覽地圖圖層
通過GeoServer管理臺左邊功能導航“Layer Preview”可進入圖層閱覽列表,在此列表中部分類型地圖圖層還提供導出為KML和GML格式的地圖數據。
從上圖所示中點擊圖層所對應的“OpenLayers”就可以打開所對應地圖圖層的預覽界面,上圖圖層列表的地圖圖層是為了測試而部署的,比如需要查看重慶大區界地圖圖層,那麼可以直接預覽大區邊界地圖圖層就可以了,也就是上圖中的名為“cq:dqjx_polyline”的圖層。
如上面預覽地圖圖層,實際上就是加載了單個地圖圖層,其對應的URL地址如下表格所示:
多圖層疊加呈現
在訪問WMS服務的時候通常都是將多個地圖圖層進行疊加組合,才能完成一個相對完整的地圖界面呈現。在訪問WMS服務的時候圖層疊加非常簡單,就是在WMS請求地址的layers參數後面用逗號(“,”)將多個圖層進行分割就可以了。下面的WMS服務請求地址就疊加了3個地圖圖層:;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服務請求是由三個地圖圖層疊加組合而成的。最終的預覽效果如下圖: