ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 第一篇、GP降雨量等值線建模、發布及測試
?
?????? 在水利、氣象等行業中,要在WebGIS中實現空間分析功能,如繪制等值線、等高線、等直面、緩沖區等都是經常遇到,經過一段時間的學習和研究,查閱ESRI文檔,請教他人,終于可以說是初步實現了等值線功能,這里記錄下來詳細的操作步驟和圖片說明,一方面是對此次努力的總結,另一方面希望也能給后來用到這方面的其他同志們,起個拋磚引玉的作用。
????? 下一篇是關于Silverlight調用GP服務的代碼實現,地址:http://blog.csdn.net/taomanman/article/details/7937879,當然只是初步實現,關于等值線注記等還需繼續完善,歡迎大家一起探討技術。
?????? 以下是在ArcMap 10中操作詳細步驟:
1)、打開ArcMap 10,載入一個縣界的面層,這里只是演示用,只是便于后面用于等值線裁剪使用。
2)、在模型建立之前首先看一個GP文件結構圖,如下:
圖一
這里簡單介紹下:
a、<ToolShare>是本地磁盤下某個目錄下的一個文件夾,存放GP模型中所有使用到的文件夾、文件、模型、地圖mxd文檔等。
b、ToolData文件夾下存放Schema文件地理數據庫,然后該地理數據庫中存放的是輸入要素點集。
c、Scripts文件夾下存放的是ArcGIS中模型中使用到的Python腳本,Python腳本是ArcGIS中的標準腳本語言。
d、Doc文件夾下存放的是模型的使用手冊和幫助文檔等內容。
e、Scratch文件夾下存放Scratch文件地理數據庫,如果有shp等文件也可以導入到該文件地理數據庫中去。并且GP模型的工作空間通常也是指向Scratch文件夾。
3)、在磁盤目錄,如D:\下新建一個文件夾,比如命名為SimpleGPService,然后拷貝該文件夾路徑D:\SimpleGPService,到ArcMap中的Catalog目錄找到Folder Connections,右鍵選擇Connect Folder,然后將拷貝的目錄粘貼,并進行文件關聯,如下圖所示:
圖二
?
圖三
接下來,右鍵該目錄,選擇新建Folder,命名為ContourService,如下圖
圖四
繼續在ContourService文件夾下新建2個文件夾,分別為Scratch和ToolData目錄,如下圖
圖五
然后分別在Scratch和ToolData下新建文件地理數據庫,名稱分別為Scratch和Schema,如下圖所示:
圖六
按照上面的說明,建立完成后,文件目錄結構的樣式應該如下圖所示:
圖七
右鍵點擊Schema,選擇新建一個要素類Feature Class,如下圖所示:
圖八
這里命名為RainPoint,要素類型選擇Point Features,如下圖所示:
圖九
接著選擇“下一步”,這里的坐標系統選擇“Unknow”即可,無需import常用的坐標系統,如下圖所示:
圖十
點擊“下一步”
圖十一
點擊下一步
圖十二
繼續點擊下一步,添加一個新的字段,YL,字段類型為Double,這個是降雨量數值字段,根據需要按照命名規則可自定義,因為這里定義的字段,后來在GP調用時是需要名稱一致的,需要注意一下,如下圖所示:
?? 圖十三
點擊“finish”完成。現在文件夾目錄結構如下:
對于需要的剪切圖層,可以導入到Scratch文件地理數據庫中,如下圖:
圖十四
由于生成的等值線往往是一個地區,所以需要根據某個范圍進行裁剪操作,這里我導入的是一個縣界圖層的shp文件,并為Output Feature Class命名,這里為ClipFeature,如下圖:
圖十五
點擊OK即可。
此時ArcMap中大致如下圖所示:
圖十六
4)、接下來創建工具,右鍵ContourService文件夾,新建一個Toolbox
圖十七
?
命名為CustomContourServiceTool,此時目錄結構如下:
圖十八
右鍵選擇”CustomContourServiceTool”工具,新建一個Model,如下圖所示
圖十九
此時會打開一個建模窗口,如下圖:
圖二十
要修改模型的名稱,請在模型工作區內右鍵,選擇“Model Property”
圖二十一
在打開的屬性窗口中,重新名稱模型,并勾選相對存儲路徑,如下圖所示:
圖二十二
5)、正式開始建模,打開Toolboxes,選擇“克里金”,如下圖所示:
圖二十三
將Kriging工具直接拖到模型工作區中,如下圖:
圖二十四
右鍵選擇Kriging,即中間的圓角矩形框,添加輸入點要素的參數,如下圖:
圖二十五
添加后的效果圖如下所示:
圖二十六
由于該點要素是一個參數,首先給該點設置成模型參數,如下圖:
圖二十七
如上添加Model Parameter后,會自動添加一個P在上方顯示,右鍵選擇“Property”
圖二十八
切換到Data Type節,選擇數據類型為“Feature Set”
圖二十九
然后從GP文件結構中的ToolData\Schema\RainPoint中導入輸入要素和符號,如下圖
圖三十
圖三十一
點擊確定后,如下圖
圖三十二
此時,需要修改工作空間,選擇“Geoprocessing”->“Enviroments”,如下圖:
圖三十三
將Workspace指向我們之前創建的GP目錄下的Scratch文件夾
圖三十四
完成后如下
圖三十五
雙擊打開模型中的Kriging這個圓角矩形框,
圖三十六
修改輸出的Raster路徑為%scratchworkspace%,修改后應該如下圖所示:
圖三十七
接下來,我們繼續添加模型元素,這次我們要添加Contour等值線工具
圖三十八
將該工具直接拖到模型工作區域
圖三十九
點擊模型工具欄中的Connect,將Kriging的輸出和Contour工具進行連接操作
圖四十
右鍵Contour,創建參數變量Contour interval
圖四十一
?
圖四十二
同樣為該變量創建模型參數P,并雙擊該變量,輸入一個值,比如10
圖四十三
此時的模型如下圖所示:
圖四十四
接下來需要進行的操作是裁剪,在工具箱中找到Clip工具,拖放到模型工作區域中來
圖四十五
同樣將Contour的輸出結果和Clip操作進行連接
?
圖四十六
右鍵Clip,創建Clip Features變量
圖四十七
雙擊添加的Clip Features,選擇之前導入到Scratch目錄下的那個ClipFeature,如下圖
圖四十八
接下來修改模型中的輸出路徑,之前已經修改Kriging了,按照類似的方法,修改Contour和Clip即可,如下圖
圖四十九
圖五十
最后為輸出要素集添加輸出參數P
圖五十一
最終一個簡單的等值線模型創建成功,如下圖
圖五十二
?
6)、模型測試
圖五十三
在Catalog中選擇模型,右鍵選擇“Debug”,此時看到如下窗口
圖五十四
通過點擊Add Feature向地圖上添加若干個要素點,并輸入YL值進行測試
圖五十五
點擊“OK”按鈕,進行模型測試
圖五十六
等值線就出來了
7)、發布GP服務,并添加Toolbox中進行再次測試
圖五十七
圖五十八
圖五十九
圖六十
這樣GIS服務器上就有了這個名為CustomContourServiceTool的GP服務了。點擊ArcMap中的工具欄中的ArcToolbox window
圖六十一
右鍵添加新的Toolbox
圖六十二
圖六十三
這樣之前我們創建并發布的GP服務就添加到了工具箱中了,再次測試,雙擊這個工具
圖六十四
圖六十五
同樣在地圖上添加要素點進行測試即可。
圖六十六
至此,整個GP建模及發布及測試已經全部完成。
?
附注:GP服務的REST地址,右鍵GIS Server上的服務,選擇Service Properties
圖六十七
在打開的窗口中,拷貝URL
圖六十八
http://localhost/arcgis/services/CustomContourServiceTool/GPServer
類似這樣的Url,然后在arcgis和services之間加上一個rest,現在的URL形式如下
http://localhost/arcgis/rest/services/CustomContourServiceTool/GPServer
打開瀏覽器,輸入以上URL,即可訪問
圖六十九
點擊Task進入
?
圖七十
該URL即GP的URL地址,以后在程序開發中,會使用到。
從這個URL可以得到如下信息:
URL:
http://localhost/arcgis/rest/services/CustomContourServiceTool/GPServer/ContourServiceTool%20Model
輸入參數:Input_point_features和Contour_interval
輸出參數:Contour_Kriging1_Clip_shp
?
===========================================================================
如果覺得對您有幫助,微信掃一掃支持一下:
posted on 2016-08-09 23:15 NET未來之路 閱讀(...) 評論(...) 編輯 收藏
轉載于:https://www.cnblogs.com/lonelyxmas/p/5754988.html
總結
以上是生活随笔為你收集整理的ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: json数据格式了解
- 下一篇: Oracle数据库之数据类型