前陣子對ArcGIS API For JavaScript的網(wǎng)絡(luò)分析有興趣,但是不知道其數(shù)據(jù)是如何獲取的。

查閱API知道,AJS的網(wǎng)絡(luò)分析只有三個功能:最短路徑(RouteTask)、最近設(shè)施點(diǎn)(ClosestFacilityTask)和服務(wù)區(qū)(ServiceAreaTask)。

而這三個分析類依賴的是ArcGIS Server上的NAServer(網(wǎng)絡(luò)分析服務(wù)),于是

如何發(fā)布NAServer,就成了我近期的研究事宜,所幸的是,這方面的資料非常豐富。

需要注意的是:

NAServer依賴于MapServer。

也就是說,必須存在MapServer,才能在MapServer上啟用NAServer。

MapServer是NAServer的必要條件,但不是充分條件。

想啟用NAServer,還需要一個正常的網(wǎng)絡(luò)數(shù)據(jù)集。

有關(guān)如何制作網(wǎng)絡(luò)數(shù)據(jù)集,請參考我之前的博文:點(diǎn)我,或者在安裝了ArcGIS for Desktop的電腦上查閱幫助文檔(推薦看我的,比官方的簡潔粗暴)。

1. 數(shù)據(jù)準(zhǔn)備

在這里,我使用了ESRI提供的網(wǎng)絡(luò)數(shù)據(jù)集,就不自己制作了。

讀者只要知道,一個高質(zhì)量的網(wǎng)絡(luò)數(shù)據(jù)集是網(wǎng)絡(luò)分析的基石,就足夠了。

數(shù)據(jù)來源是GP Service Examples

我選用的是Network Analyst文件夾的SanFrancisco.gdb數(shù)據(jù)。

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

可以看到Transportation要素?cái)?shù)據(jù)集中已經(jīng)準(zhǔn)備好了Streets_ND網(wǎng)絡(luò)數(shù)據(jù)集。

2. 在ArcMap中打開網(wǎng)絡(luò)數(shù)據(jù)集并創(chuàng)建三個對應(yīng)圖層

三個圖層是:路徑、服務(wù)區(qū)、最近設(shè)施點(diǎn)。

見下圖:

2.1 先打開網(wǎng)絡(luò)數(shù)據(jù)集

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

2.2 創(chuàng)建三個網(wǎng)絡(luò)分析圖層:路徑、服務(wù)區(qū)、最近設(shè)施點(diǎn)

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

圖2是打開了網(wǎng)絡(luò)分析窗口。

3. 發(fā)布MapServer與NAServer

這一步假設(shè)已經(jīng)在本機(jī)安裝了與ArcMap同版本的ArcGIS for Server,本人使用的是Server 10.4;或已經(jīng)知道了遠(yuǎn)程ArcGIS for Server服務(wù)地址。

及登陸Server的賬號密碼。

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

發(fā)布!

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

3.1 假設(shè)讀者沒有在ArcMap或Catalog連接過Server(看過的直接跳到3.2 發(fā)布MapServer)

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

這個時(shí)候點(diǎn)擊有個+號那個按鈕

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

這里填寫的是Server的地址和登陸賬號密碼,其余默認(rèn)。點(diǎn)擊完成,ArcMap就會連接到Server了。如果是遠(yuǎn)程地址就不是localhost了哦~

3.2 發(fā)布MapServer

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

給即將發(fā)布的服務(wù)命個名,連接就選已經(jīng)連接上的ArcGIS Server服務(wù)器,localhost_6443就是我本地6443端口上的ArcGIS Server服務(wù)器。

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

我把這個服務(wù)放到一個新的文件夾里去,名為ForTest。登陸過ArcGIS for Server網(wǎng)頁管理頁面的人會知道,服務(wù)跟文件一樣,存放于不同的目錄(文件夾)下。

例如根目錄下就有一個默認(rèn)的MapServer:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

點(diǎn)擊繼續(xù)。

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

此時(shí)出現(xiàn)【服務(wù)編輯器】窗口,在功能選項(xiàng)卡中勾選Network Analysis功能。此時(shí),可以點(diǎn)擊分析,確保沒有錯誤,警告無所謂,一般都會有十幾二十個警告:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

然后點(diǎn)擊服務(wù)編輯器右上角的【發(fā)布】即可。靜等發(fā)布。

期間會提示:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

選確定。

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

恭喜,發(fā)布成功。

————————————————

至此,MapServer發(fā)布成功,相當(dāng)于一個mxd文檔就丟到服務(wù)器上面去了;

而那個網(wǎng)絡(luò)數(shù)據(jù)集就支撐起了NAServer這個服務(wù)類型,三個網(wǎng)絡(luò)分析圖層就分別是NAServer中的三個圖層。(聽不懂?沒關(guān)系,等下就知道了)

3.3 在ArcMap中查看Server上的服務(wù)

我們還可以順便在ArcMap中查看AJS中需要的REST URL:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

如圖所示,右鍵單擊剛剛發(fā)布的SanFranciscoNetwork這個MapServer的服務(wù)屬性

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

選擇Network Analysis選項(xiàng)卡,就可以找到REST URL了。這個很重要,見3.5 查看NAServer。

3.4 在Server網(wǎng)頁端查看服務(wù)

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

登陸ArcGIS Server管理頁,找到ForTest文件夾,可以看到多了一個SanFranciscoNetwork地圖服務(wù),跟桌面端是一樣的。

3.5 查看NAServer

把NAServer的REST URL復(fù)制粘貼到瀏覽器地址欄,打開:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

Route Layers、Closest Facility Layers、Service Area Layers三個圖層就是我們需要用于AJS中實(shí)例化的圖層了,見4舉例:

4. 在AJS中使用NAServer

4.1 RouteTask

這里是使用最短路徑任務(wù),需要依賴NAServer的Route Layers:

 routeTask =  RouteTask({
      url: "https://localhost:6443/arcgis/rest/services/ForTest/SanFranciscoNetwork/MapServer/NAServer/路徑" 
});

4.2 ClosestFacilityTask

var closestFacilityTask = new ClosestFacilityTask({
      url: "https://localhost:6443/arcgis/rest/services/ForTest/SanFranciscoNetwork/MapServer/NAServer/最近服務(wù)區(qū)"});

4.3 ServiceAreaTask

var serviceAreaTask = new ServiceAreaTask({
    url: "https://localhost:6443/arcgis/rest/services/ForTest/SanFranciscoNetwork/MapServer/NAServer/服務(wù)區(qū)"});

NAServer后面緊跟著三個圖層的名字,我不知道能不能在url里使用中文名,建議大家創(chuàng)建網(wǎng)絡(luò)分析圖層的時(shí)候使用英文名吧。

5. 總結(jié)

發(fā)布NAServer是依賴于MapServer的,這點(diǎn)無疑。

NAServer又依賴于網(wǎng)絡(luò)數(shù)據(jù)集。

想要在WebGIS上使用NAServer的三個功能:路徑、服務(wù)區(qū)、最近設(shè)施點(diǎn),就得在發(fā)布MapServer時(shí)創(chuàng)建三種網(wǎng)絡(luò)分析圖層。

在AJS中使用對應(yīng)的網(wǎng)絡(luò)分析功能,只需在NAServer的REST URL后面補(bǔ)上網(wǎng)絡(luò)分析圖層名即可。

這就是全文啦!不懂的可以聯(lián)系我的email: onsummer@foxmail.com

本人不提供軟件,請自行查找。

分類: ArcGIS Server,WebGIS,網(wǎng)絡(luò)分析

標(biāo)簽: ArcGISNetworkAnalystArcGIS ServerNAServer發(fā)布網(wǎng)絡(luò)分析服務(wù)MapServer

http://www.cnblogs.com/onsummer/p/6819059.html