1. 概述
前段時間,給大家介紹了基於《水經注地圖發佈服務中間件4.0》在內網中離線發佈全國影像及高程DEM數據並在OsgEarth中調用的方法和在開源三維地球Cesium中如何離線加載衛星影像及高程DEM數據的方法。
今天再爲大家分享OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖的方法。
什麼是OpenLayers呢?
OpenLayers是一個用於開發WebGIS客戶端的JavaScript包。
OpenLayers 支持的地圖來源包括Google Maps、Yahoo、 Map、微軟Virtual Earth 等,用戶還可以用簡單的圖片地圖作爲背景圖,與其他的圖層在OpenLayers 中進行疊加,在這一方面OpenLayers提供了非常多的選擇。
除此之外,OpenLayers實現訪問地理空間數據的方法都符合行業標準。
OpenLayers 支持Open GIS 協會制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等網絡服務規範,可以通過遠程服務的方式,將以OGC 服務形式發佈的地圖數據加載到基於瀏覽器的OpenLayers 客戶端中進行顯示。
因此,OpenLayers是一個非常優秀的適合用於WeGIS二次開發的平臺。
2. 準備工作
在開始之前,需要先準備離線數據發佈軟件、離線衛星影像示例數據、OpenLayers開發源碼和本機IP地址等。
地圖發佈軟件:需要在內網發佈離線衛星影像,請確保地圖發佈服務中間件版本爲4.0.5以上,如果低於該版本,請通過私信回覆"中間件"免費獲取最新版本安裝包,也可以直接在官網下載。
離線示例數據:本文提供的離線示例數據包括墨卡託投影和WGS84投影的衛星影像與地名標籤數據,由於這裏主要是爲了進行功能性演示,因此只提示前10級影像數據。
衛星影像示例數據
在安裝軟件之前,請私信“示例數據”下載示例數據。
OpenLayers開發源碼:開源OpenLayers源碼可以從OpenLayers官網下載最新版,但由於國外網站訪問非常慢,因此也可以通過私信回覆"OpenLayers"獲取OpenLayers開發源碼文件。
本機IP地址:由於會用到本機IP作爲訪問地址,可以通過在DOS窗口中運行"IPConfig"命令或其它方式獲取本機IP地址以備用,如下圖所示。
獲取本機IP地址
3. WGS84衛星影像離線發佈
軟件的安裝與離線衛星影像的發佈方法,請參閱"全球衛星影像離線發佈神器《水經注地圖發佈服務中間件4.0》正式發佈"一文。
由於OpenLayers是二維應用,因此這裏不需要發佈高程。
但需要注意的是發佈的衛星影像和設置的投影務必要保證統一,且端口號沒有被其它程序佔用,如下圖所示。
安裝配置
安裝完成後,會顯示如下圖所示信息。
安裝完成
打開Windows任務管理器,如果WeServer服務的狀態顯示"正在運行",則說明中間件服務安裝成功並已經正常運行,如下圖所示。
服務運行正常
4. 部署OpenLayers源碼網站
OpenLayer源碼解壓之後,如下圖所示。
OpenLayers源碼目錄
在Windows控制面板中打開"管理工具",如下圖所示。
管理工具
打開IIS網站管理器,如下圖所示。
打開IIS
在"網站"樹節點單擊鼠標右鍵,然後選擇"添加網站"菜單,如下圖所示。
增加網站
網站名稱可以任意取,這裏我們取名爲"OpenLayers",物理路徑爲OpenLayers源碼所在路徑,並將端口號設置爲默認值"80",如下圖所示。
配置完成之後點擊"確定"按鈕之後完成網站配置,如下圖所示。
完成配置
在瀏覽器中打開網址"http://127.0.0.1/examples"可以瀏覽配置好的網站,並可以查看相關文檔、示例與API等,如下圖所示。
OpenLayers本地網站
在OpenLayers頁面中點擊"Bing Maps",可以打開BingMaps在線調用示例並查看代碼,如下圖所示。
BingMaps示例
至此,一個部署到本地的OpenLayers系統就完成了,你可以根據自己的需求,再結合在線示例開發一個WebGIS系統。接下來我們會講解如何將本地離線的谷歌衛星影像與地名標籤在OpenLayers中加載顯示。
5. WGS84衛星影像的內網離線加載顯示
在OpenLayers目錄中新建"SampleForWGS84.html"網站頁面文件,如下圖所示。
新建頁面文件
在"SampleForWGS84.html"網站頁面文件中添加衛星影像與地名標籤加載代碼,如下圖所示。
添加WGS84影像加載代碼
通過私信回覆"OpenLayers"可獲取OpenLayers源碼文件,解壓後在目錄中,已經爲你提供了"SampleForWGS84.html"源碼文件,但需要特別注意的是需要將IP地址改爲本機IP地址,前文我們已經提到過了獲取本機IP的方法。
打開網址"http://192.168.0.5/SampleForWGS84.html",可以顯示加載本地影像如下圖所示。
WGS84衛星影像加載效果
至此,OpenLayers在內網中加載顯示WeServer發佈的離線地圖的目的就達到了。這樣一來,當前這臺電腦在內網中就是一臺標準地圖服務器,內網中任何一臺電腦都可以通過打開網址離線查看地圖,但需要注意的是需要將網址中的IP改爲本機IP地址。
以上發佈的是WGS84的衛星影像,接下來我們再來看一看默卡託衛星影像的發佈方法。
6. 墨卡託投影衛星影像的內網離線發佈
由於之前發佈的是WGS84衛星影像,因此發佈墨卡託衛星影像時需要重新對WeServer的數據源與座標投影進行配置。
設置數據源與座標投影除了可以在安裝界面中配置外,還可以通過修改配置文件的方式設置。
在WeServer安裝路徑中,有一個用於配置WeServer參數的"WeServerConfig.ini"文件,如下圖所示。
WeServer配置文件
在配置文件中,重新設置衛星影像路徑和地名標籤路徑,然後將投影設置爲"Mercator",即墨卡託投影,如下圖所示。
設置墨卡託投影參數
在"WeServerConfig.ini"文件中完成相關參數配置並保存後,雙擊"WeServer.exe"文件,會重新啓動服務並使配置參數生效。
配置參數生效
7. 墨卡託投影衛星影像的內網離線加載顯示
在OpenLayers目錄中新建"SampleForMercator.html"網站頁面文件,如下圖所示。
新建SampleForMecator頁面文件
在"SampleForMecator.html"網站頁面文件中添加衛星影像與地名標籤加載代碼,如下圖所示。
添加墨卡託影像加載代碼
通過私信回覆"OpenLayers"可獲取OpenLayers源碼文件,解壓後在目錄中,已經爲你提供了"SampleForMercator.html"源碼文件,但需要特別注意的是需要將IP地址改爲本機IP地址,前文我們已經提到過了獲取本機IP的方法。
打開網址"http://192.168.0.5/SampleForMercator.html",可以顯示加載本地影像如下圖所示。
墨卡託衛星影像加載效果
8. 總結
最後再次申明,由於本文中提供的數據爲示例數據,旨在說明地圖發佈服務中間件的內網離線發佈功能,因此衛星影像數據和地名標籤都僅僅提供全球前10級數據。你可以通過私信回覆"免費數據",領取一個省的高清衛星影像數據,然後更新到對應的數據目錄即可!