第一篇、GP降雨量等值线建模、发布及测试数据库
在水利、气象等行业中,要在WebGIS中实现空间分析功能,如绘制等值线、等高线、等直面、缓冲区等都是常常遇到,通过一段时间的学习和研究,查阅ESRI文档,请教他人,终于能够说是初步实现了等值线功能,这里记录下来详细的操做步骤和图片说明,一方面是对这次努力的总结,另外一方面但愿也能给后来用到这方面的其余同志们,起个抛砖引玉的做用。浏览器
下一篇是关于Silverlight调用GP服务的代码实现,地址:http://blog.csdn.net/taomanman/article/details/7937879,固然只是初步实现,关于等值线注记等还需继续完善,欢迎你们一块儿探讨技术。服务器
如下是在ArcMap 10中操做详细步骤:并发
1)、打开ArcMap 10,载入一个县界的面层,这里只是演示用,只是便于后面用于等值线裁剪使用。工具
2)、在模型创建以前首先看一个GP文件结构图,以下:学习
图一测试
这里简单介绍下:spa
a、<ToolShare>是本地磁盘下某个目录下的一个文件夹,存放GP模型中全部使用到的文件夹、文件、模型、地图mxd文档等。.net
b、ToolData文件夹下存放Schema文件地理数据库,而后该地理数据库中存放的是输入要素点集。3d
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