OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

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在內網中如何加載顯示WeServer發佈的離線地圖

衛星影像示例數據

在安裝軟件之前,請私信“示例數據”下載示例數據。

OpenLayers開發源碼:開源OpenLayers源碼可以從OpenLayers官網下載最新版,但由於國外網站訪問非常慢,因此也可以通過私信回覆"OpenLayers"獲取OpenLayers開發源碼文件。

本機IP地址:由於會用到本機IP作爲訪問地址,可以通過在DOS窗口中運行"IPConfig"命令或其它方式獲取本機IP地址以備用,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

獲取本機IP地址

3. WGS84衛星影像離線發佈

軟件的安裝與離線衛星影像的發佈方法,請參閱"全球衛星影像離線發佈神器《水經注地圖發佈服務中間件4.0》正式發佈"一文。

由於OpenLayers是二維應用,因此這裏不需要發佈高程。

但需要注意的是發佈的衛星影像和設置的投影務必要保證統一,且端口號沒有被其它程序佔用,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

安裝配置

安裝完成後,會顯示如下圖所示信息。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

安裝完成

打開Windows任務管理器,如果WeServer服務的狀態顯示"正在運行",則說明中間件服務安裝成功並已經正常運行,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

服務運行正常

4. 部署OpenLayers源碼網站

OpenLayer源碼解壓之後,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

OpenLayers源碼目錄

在Windows控制面板中打開"管理工具",如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

管理工具

打開IIS網站管理器,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

打開IIS

在"網站"樹節點單擊鼠標右鍵,然後選擇"添加網站"菜單,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

增加網站

網站名稱可以任意取,這裏我們取名爲"OpenLayers",物理路徑爲OpenLayers源碼所在路徑,並將端口號設置爲默認值"80",如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

 

配置完成之後點擊"確定"按鈕之後完成網站配置,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

完成配置

在瀏覽器中打開網址"http://127.0.0.1/examples"可以瀏覽配置好的網站,並可以查看相關文檔、示例與API等,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

OpenLayers本地網站

在OpenLayers頁面中點擊"Bing Maps",可以打開BingMaps在線調用示例並查看代碼,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

BingMaps示例

至此,一個部署到本地的OpenLayers系統就完成了,你可以根據自己的需求,再結合在線示例開發一個WebGIS系統。接下來我們會講解如何將本地離線的谷歌衛星影像與地名標籤在OpenLayers中加載顯示。

5. WGS84衛星影像的內網離線加載顯示

在OpenLayers目錄中新建"SampleForWGS84.html"網站頁面文件,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

新建頁面文件

在"SampleForWGS84.html"網站頁面文件中添加衛星影像與地名標籤加載代碼,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

添加WGS84影像加載代碼

通過私信回覆"OpenLayers"可獲取OpenLayers源碼文件,解壓後在目錄中,已經爲你提供了"SampleForWGS84.html"源碼文件,但需要特別注意的是需要將IP地址改爲本機IP地址,前文我們已經提到過了獲取本機IP的方法。

打開網址"http://192.168.0.5/SampleForWGS84.html",可以顯示加載本地影像如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

WGS84衛星影像加載效果

至此,OpenLayers在內網中加載顯示WeServer發佈的離線地圖的目的就達到了。這樣一來,當前這臺電腦在內網中就是一臺標準地圖服務器,內網中任何一臺電腦都可以通過打開網址離線查看地圖,但需要注意的是需要將網址中的IP改爲本機IP地址。

以上發佈的是WGS84的衛星影像,接下來我們再來看一看默卡託衛星影像的發佈方法。

6. 墨卡託投影衛星影像的內網離線發佈

由於之前發佈的是WGS84衛星影像,因此發佈墨卡託衛星影像時需要重新對WeServer的數據源與座標投影進行配置。

設置數據源與座標投影除了可以在安裝界面中配置外,還可以通過修改配置文件的方式設置。

在WeServer安裝路徑中,有一個用於配置WeServer參數的"WeServerConfig.ini"文件,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

WeServer配置文件

在配置文件中,重新設置衛星影像路徑和地名標籤路徑,然後將投影設置爲"Mercator",即墨卡託投影,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

設置墨卡託投影參數

在"WeServerConfig.ini"文件中完成相關參數配置並保存後,雙擊"WeServer.exe"文件,會重新啓動服務並使配置參數生效。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

配置參數生效

7. 墨卡託投影衛星影像的內網離線加載顯示

在OpenLayers目錄中新建"SampleForMercator.html"網站頁面文件,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

新建SampleForMecator頁面文件

在"SampleForMecator.html"網站頁面文件中添加衛星影像與地名標籤加載代碼,如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

添加墨卡託影像加載代碼

通過私信回覆"OpenLayers"可獲取OpenLayers源碼文件,解壓後在目錄中,已經爲你提供了"SampleForMercator.html"源碼文件,但需要特別注意的是需要將IP地址改爲本機IP地址,前文我們已經提到過了獲取本機IP的方法。

打開網址"http://192.168.0.5/SampleForMercator.html",可以顯示加載本地影像如下圖所示。

OpenLayers在內網中如何加載顯示WeServer發佈的離線地圖

墨卡託衛星影像加載效果

8. 總結

最後再次申明,由於本文中提供的數據爲示例數據,旨在說明地圖發佈服務中間件的內網離線發佈功能,因此衛星影像數據和地名標籤都僅僅提供全球前10級數據。你可以通過私信回覆"免費數據",領取一個省的高清衛星影像數據,然後更新到對應的數據目錄即可!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章