ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
原文: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
===========================================================================
如果觉得对您有帮助,微信扫一扫支持一下:
ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试的更多相关文章
- ArcGIS API for Silverlight 调用GP服务绘制等值面
原文:ArcGIS API for Silverlight 调用GP服务绘制等值面 GP服务模型如下图: 示例效果图片如下:
- ArcGIS API for Silverlight 调用GP服务加载等值线图层
原文:ArcGIS API for Silverlight 调用GP服务加载等值线图层 第二篇.Silverlight客户端调用GP服务 利用ArcGIS API for Silverlight实现G ...
- ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法
原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...
- ArcGIS API for Silverlight 使用GP服务实现要素裁剪功能
原文:ArcGIS API for Silverlight 使用GP服务实现要素裁剪功能 昨天一QQ好友问了一个关于裁剪的问题,感觉自己也没有帮上什么忙,之后自己做了一个裁剪的例子,不过在做这个例子的 ...
- ArcGIS API for Silverlight部署本地地图服务
这一节我们来讲新建立的ArcGIS API for Silverlight应用程序如何加载自己的地图服务的问题,网上的资料讲的都有点含糊不清,这次我们详细的讲一下配置的步骤: 首先介绍下我们的开发和部 ...
- ArcGIS API for Silverlight开发入门
你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我 都没关系.但你不能否认3G是一种趋势,最终我们每个人都会被包裹在3G网络中.1100也不是一成不变,没准哪天为了打击 ...
- 使用ArcGIS API for Silverlight实现地形坡度在线分析
原文:使用ArcGIS API for Silverlight实现地形坡度在线分析 苦逼的研究生课程终于在今天结束了,也许从今以后再也不会坐在大学的课堂上正式的听老师讲课了,接下来的时间就得开始找工作 ...
- arcgis api for silverlight开发系列之二:缓存图层与动态图层及图层总结 .
本文摘自:http://blog.csdn.net/leesmn/article/details/6916458(很优秀的博客) 作为ESRI的平台的一份子arcgis api for silve ...
- ArcGIS API For Silverlight使用在线地图的多种方法总结
引自:http://www.cnblogs.com/meimao5211/p/3283969.html ArcGIS API For Silverlight使用在线地图的多种方法总结 本人也正在学习A ...
随机推荐
- Android view 的事件分发机制
1 事件的传递顺序是 Activity -> Window -> 顶层View touch 事件产生后,最先由 activity 的 dispatchTouchEvent 处理 /** * ...
- robotium 新建 android 测试项目:
注意:新建项目后再运行前一定要修改Manifest文件中的instrumentation 中的target package, 这个是测试的入口 1. 程序开始要通知系统我要测的app是什么 如何知道a ...
- 【BZOJ】3196: Tyvj 1730 二逼平衡树(区间第k小+树套树)
http://www.lydsy.com/JudgeOnline/problem.php?id=3196 Treap+树状数组 1WA1A,好伤心,本来是可以直接1A的,这次开始我并没有看题解,就写出 ...
- (转)js:字符串(string)转json
第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...
- iOS学习—JSON数据解析
关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如TouchJson,JSONKit,SBJon等,自从iOS5.0以后,苹果SDK推出了自带的JSON解决方案NSJSONSer ...
- MatLab GUI Change Size 改变界面大小
在MatLab做的GUI界面,我们有时候会希望界面的大小能改变,并且上面的控件也会跟着界面变大或者缩小,MatLab在这方面做的非常好,不像Qt的GUI那样实现起来那么麻烦,只需要把界面的属性Resi ...
- Qt OpenCV Support Image Type 支持读写的图像格式
Qt 支持的图片格式如下: Format Description Qt's support BMP Windows Bitmap Read/write GIF Graphic Interchange ...
- Android--学习记录
最近天天被兔子激励,所以开始找工作,发现Android和iOS都会更有竞争力,所以就想学一下Android Android比iOS更开放,学习难度可能会更大,我已经做好了吃苦的准备 计划是三个月搞定, ...
- shell总结(0基础入门)
一.简介 shell是用户和操作系统交互的命令行解释器. shell有很多种: bash.csh.sh.ksh... 我们等了linux时看到的命令行就是一个bash. 二.第一个脚本: [root@ ...
- Sublime之旅
安装 http://www.sublimetext.com/3 常用操作 window版本 CTRL + P 打开文件搜索 Ctrl+K+B 打开目录树 Ctrl+Shift+[ ...