天天看點

畢業設計總結:(1)GP工具釋出

GP工具的制作和釋出,是ArcGIS使用中重要的一環,能力強的學長們都會選擇根據自己的需要自己制作GP工具,關于如何制作GP工具,我的能力有限,隻能和大家一起學習。

本文涉及到的GP工具釋出,是我的大學畢業設計《基于Internet的DEM河流網提取分析研究》中的一部分,而河流網提取功能使用的就是我自己在ArcGIS中打包的GP工具,好了廢話不多說,直接進入正文部分。網上類似的教程很多,希望想學好這些知識的同學自己多動手試試。

首先我們介紹簡單介紹下GP工具。GP架構是一組用來管理和執行工具的窗體和對話框,具體包括以下三部分:

ArcToolbox.

ArcGIS提供的地理處理工具集,這些工具支援進階的空間處理。

ModelBuilder.

使用一系列GP工具建構工作流的可視化程式設計語言。在ArcGIS中,ModelBuilder是可視化程式設計環境,通過對現有工具的組合完成新模型或軟體的制作。

Python-Arcpy.

使用Python腳本語言操作地理處理工具,實作更強大的地理處理工具和程式。

GP工具的釋出大緻分為一下幾個步驟:

1.

分析需求,确定自己将使用到哪幾種工具;

2.

根據确定的需求,在ArcGIS中将工具打包,設定好流程。

3. 釋出GP服務,通過REST URL或者SOAP

URL調用。

我們這次先講GP工具的釋出,以河流網提取分析服務為例。

河流網提取的功能是水文分析中的重要環節,包括了一系列的流程:

以上的流程主要是針對ArcGIS而言的,是以其他的河流網自動提取軟體可能會不一樣,僅供參考,不過GP服務的釋出也是ArcGIS中的,可能這篇文章的讀者更多的是ArcGIS的使用者。是以如果你涉及到河流網的提取功能時,整個的流程都應該如上所示。

進入ArcGIS界面,選擇上面功能欄的“Geoprocessing”,下拉框中選擇“ModelBuilder”(中文版的界面應該也差不多):

點選後會出現空白的Model視窗:

此時的操作極為簡單,就是打開ArcGIS的工具欄界面,将需要用到的工具直接拖進來,設定好每個函數的參數。而我們都知道某種地形分析工能往往涉及到很多工具,是以就要通過模組化把每個工具串聯起來,而ModelBuilder中也支援這種操作,具體的做法分兩種;

第一種做法很簡單,每個工具都會需要設定參數,而當我們設定好資料庫後,直接将上個工具的生成結果設定為下個工具的輸入參數,這樣就可以把不同的工具連接配接在一起;

第二種做法也很容易,直接在界面上用右三的箭頭将不同的工具連接配接起來。

而河流網提取的流程已經有流程圖(上文),而涉及到的工具主要在“Spatial Analyst

Tools”工具下的“Hydrology”,點選後用到的是“Fill”→“Flow Direction”→“Flow Accumulation”→“Raster

Calculator”(這個工具是在其他分組下的。可使用ArcGIS的搜尋工具進行搜尋,然後調用)→“Stream Link”→“Stream to

Feature”。具體的流程圖如下:

    在“Raster

Calculator”中需要設定門檻值,具體的思想可以參考他人的文章,其用法這裡不再贅述。

這裡的輸入資料是DEM類型的資料,設定完成後還有一個經常被遺忘的一個環節。在ArcGIS中,GP工具的釋出是需要運作承購一次後,在Results視窗釋出的。而如果你沒有在模型中設定“模型參數(Model

Parameter)”的話,模型是不可能運作的,軟體會提示你缺少參數噢~~~設定完成後,就可以在Results視窗釋出了。

你如果不知道Results視窗在哪,那是因為你觀察不夠仔細。平時在ArcGIS左側顯示的是TOC視窗,視窗底部有三個視窗可以切換,在Results視窗中可以看到最近運作成功的工具箱。

接着就是一路的确定了,如圖:

在工具釋出完成後,我們可以登陸ArcGIS Server Manager界面進行檢視,也可以對已經釋出的服務進行參數的修改。

左側的HydrologyGP就是我們釋出的服務。服務的釋出可能會出現很多的錯誤或者其他狀況,不要着急,把你的錯誤複制到Google搜尋一下,肯定會有解決辦法的。如果還解決不了,可以和我聯系。

下一篇文章,我們來談談GP工具的調用。