码迷,mamicode.com
首页 > Windows程序 > 详细

ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试

时间:2016-08-09 23:26:16      阅读:573      评论:0      收藏:0      [点我收藏+]

标签:

原文: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文档等。

bToolData文件夹下存放Schema文件地理数据库,然后该地理数据库中存放的是输入要素点集。

cScripts文件夹下存放的是ArcGIS中模型中使用到的Python脚本,Python脚本是ArcGIS中的标准脚本语言。

dDoc文件夹下存放的是模型的使用手册和帮助文档等内容。

eScratch文件夹下存放Scratch文件地理数据库,如果有shp等文件也可以导入到该文件地理数据库中去。并且GP模型的工作空间通常也是指向Scratch文件夹。

3)、在磁盘目录,如D:\下新建一个文件夹,比如命名为SimpleGPService,然后拷贝该文件夹路径D:\SimpleGPService,到ArcMap中的Catalog目录找到Folder Connections,右键选择Connect Folder,然后将拷贝的目录粘贴,并进行文件关联,如下图所示:

技术分享

图二

 技术分享

图三

接下来,右键该目录,选择新建Folder,命名为ContourService,如下图

技术分享

图四

继续在ContourService文件夹下新建2个文件夹,分别为ScratchToolData目录,如下图

技术分享

图五

然后分别在ScratchToolData下新建文件地理数据库,名称分别为ScratchSchema,如下图所示:

技术分享

图六

按照上面的说明,建立完成后,文件目录结构的样式应该如下图所示:

技术分享

图七

右键点击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了,按照类似的方法,修改ContourClip即可,如下图

技术分享

图四十九

技术分享

图五十

最后为输出要素集添加输出参数P

技术分享

图五十一

最终一个简单的等值线模型创建成功,如下图

技术分享

图五十二

 

6)、模型测试

技术分享

图五十三

Catalog中选择模型,右键选择“Debug”,此时看到如下窗口

技术分享

图五十四

通过点击Add Feature向地图上添加若干个要素点,并输入YL值进行测试

技术分享

图五十五

点击“OK”按钮,进行模型测试

技术分享

图五十六

等值线就出来了

7)、发布GP服务,并添加Toolbox中进行再次测试

技术分享

图五十七

技术分享

图五十八

技术分享

图五十九

技术分享

图六十

这样GIS服务器上就有了这个名为CustomContourServiceToolGP服务了。点击ArcMap中的工具栏中的ArcToolbox window

技术分享

图六十一

右键添加新的Toolbox

技术分享

图六十二

技术分享

图六十三

这样之前我们创建并发布的GP服务就添加到了工具箱中了,再次测试,双击这个工具

技术分享

图六十四

技术分享

图六十五

同样在地图上添加要素点进行测试即可。

技术分享

图六十六

至此,整个GP建模及发布及测试已经全部完成。

 

附注:GP服务的REST地址,右键GIS Server上的服务,选择Service Properties

技术分享

图六十七

在打开的窗口中,拷贝URL

技术分享

图六十八

http://localhost/arcgis/services/CustomContourServiceTool/GPServer

类似这样的Url,然后在arcgisservices之间加上一个rest,现在的URL形式如下

http://localhost/arcgis/rest/services/CustomContourServiceTool/GPServer

打开浏览器,输入以上URL,即可访问

技术分享

图六十九

点击Task进入

 

技术分享

图七十

URLGPURL地址,以后在程序开发中,会使用到。

从这个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模型建立、发布、测试

标签:

原文地址:http://www.cnblogs.com/lonelyxmas/p/5754988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!