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

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

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

 

===========================================================================

如果觉得对您有帮助,微信扫一扫支持一下:



posted on 2016-08-09 23:15 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/5754988.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10企业版更新和安全中没有 “恢复”这个选项_通知:微软已强制对Windows 10更新升级...

最近&#xff0c;微软发布了Windows10的强制升级。从本月开始&#xff0c;如果您的个人电脑、笔记本电脑和其他设备没有手动升级&#xff0c;微软将强制部分用户升级到Windows10 1909或2004版本。原因很简单。微软已经停止支持Windows10 1903版&#xff08;包括家庭版和专业版&…

Oracle数据库之数据类型

Oracle数据库之数据类型 Oracle基本数据类型&#xff08;亦叫内置数据类型&#xff0c;internal datatypes或built-in datatypes)可以按类型分为&#xff1a;字符串类型、数字类型、日期类型、LOB类型、LONG RAW&RAW类型、ROWID&UROWID类型。 下面介绍常用的Oracle数据…

docker 多个mysql_mysql8.0 利用docker容器安装配置多主多从集群

1. 在/user/local/share/下创建mysql文件夹&#xff0c;在mysql文件夹目录下创建4个文件夹分别是:master1, master2, slave1, slave2分别在每个目录下建立data, conf, logs用于数据持久化创建后如下2.创建容器&#xff1a;1)创建一个名为master1的mysql容器(主 mysql)docker ru…

JavaFX 2.0和Scala,例如牛奶和饼干

JavaFX 2.0和Scala都是很好的技术&#xff0c;但是一起使用时效果会更好。 JavaFX 2.0是一种功能强大的富客户端技术&#xff0c;具有先进的图形&#xff0c;动画和媒体功能。 Scala是一种简单但功能强大的语言&#xff0c;具有用于编写特定于域的语言&#xff08;DSL&#xff…

两张图片互相切换

图片切换 $(.selectarea img).click(function () { if ($(this).attr("src") "/Content/images/persornalZL/select01.jpg") { $(this).attr("src", "/Content/images/persornalZL/select02.jpg"); } else { $(this).attr("src&…

thinkphp+mysql+join+where_thinkphp5.0 多join时where无法between

情况类似于这个链接,这帖子的老哥没有答案,现在遇到一样的问题了,下面贴上代码$map [products.insurance_status>1];//是否计算下线的产品if( input(get.times) && input(get.times) < 7 ){$time return_times(input(get.times));//此处有bug$map[order.pay_ti…

访客设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中&#xff0c;您将深入研究大量的设计模式&#xff0c;并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因&#xff0c;并了解何时以及如何应用模式中的每一个。 在这里查看 &#xff01; 目录 …

console.log()与alert()的区别

1、alert() a、有阻塞作用&#xff0c;不点击确定&#xff0c;后续代码无法继续执行 b、alert只能输出string&#xff0c;如果alert输出的是对象&#xff0c;会自动调用toString()方法 eg&#xff1a;alert([1,2,3]);//1,2,3 c、alert不支持多个参数的写法&am…

报名照片审核处理工具_太浦军考|2020年文职人员报名照片审核程序,照片处理工具应该如何使用?...

考文职 找太浦 最靠谱照片处理工具使用说明01注意&#xff1a;一、本工具是报名照片审核处理工具&#xff0c;只有通过该审核工具审核通过的照片才能在注册时正常上传。照片将应用在准考证和合格证书中。二、源文件必须是标准证件数字照片&#xff0c;JPG或JPEG格式&#xff0c…

ANT基本操作

1.输入输出 1.1 输入   不能执行交互式操作。只能采取下面的形式&#xff1a; 1.1.1 变量 ① 其中已经预定义的变量有&#xff1a; 属性 解释 ant.file 该构建文件的完整地址 ant.version 安装的 Apache Ant 的版本 basedir 构建文件的基目录的绝对路径&#xff0c;作…

hadoop伪分布式模式_Hadoop模式介绍-独立,伪分布式,分布式

hadoop伪分布式模式了解了什么是Hadoop之后&#xff0c;让我们在单机上启动Hadoop&#xff1a; 这篇文章包含在ubuntu上安装Hadoop的说明。 这是Hadoop安装的快速分步教程。 在这里&#xff0c;您将获得以独立模式 &#xff08;单节点集群&#xff09;安装Hadoop所需的所有命令…

SSH面试题【转】

SSH面试题整理 http://blog.csdn.net/xuyuxin8145/article/details/6638084 1. BeanFactory的作用是什么&#xff1f; [中] BeanFactory是配置、创建、管理bean的容器&#xff0c;有时候也称为bean上下文。Bean与bean的依赖关系&#xff0c;也是由…

python 比赛成绩预测_Python预测NBA比赛结果

下载W3Cschool手机App&#xff0c;0基础随时随地学编程导语利用Python简单地预测一下NBA比赛结果。。。这大概就叫蹭热度吧。。。毕竟貌似今天朋友圈都在刷NBA相关的内容。。。虽然我并不能看懂。。。但这并不妨碍我瞎预测一波。。。So,以下内容纯属瞎玩&#xff0c;如有雷同&a…

ffmpeg摄像头推流

ffmpeg -f dshow -i video"Integrated Camera" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f mpegts udp://230.0.0.1:6000 默认是640x480 我I5的机器用了10%的CPU -r 25 设置帧率 -s 1280x720 指定分辨率 默认640x480 -g 1 -keyint_min 2 设置关键帧…

python简单实用案例_Ajax的简单实用实例代码

细说SSO单点登录(转)OAuth2.0:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-security.html#boot-features-security-oauth2-resource-serverhttp...文章developerguy2016-07-131080浏览量怎样在不使用框架的基础上开发一个 Javascript 组件本…

适配器设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中&#xff0c;您将深入研究大量的设计模式&#xff0c;并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因&#xff0c;并了解何时以及如何应用模式中的每一个。 在这里查看 &#xff01; 目录 …

[转]Linux下g++编译与使用静态库(.a)和动态库(.os) (+修正与解释)

在windows环境下&#xff0c;我们通常在IDE如VS的工程中开发C项目&#xff0c;对于生成和使用静态库&#xff08;*.lib&#xff09;与动态库&#xff08;*.dll&#xff09;可能都已经比较熟悉&#xff0c;但是&#xff0c;在linux环境下&#xff0c;则是另一套模式&#xff0c;…

cesium鼠标控制键盘_Cesium中级教程3 - Camera - 相机(摄像机)

CameraCesiumJS中的Camera控制场景的视图。有很多方法可以操作Camera&#xff0c;如旋转(rotate)、缩放(zoom)、平移(pan)和飞到目的地(flyTo)。CesiumJS有鼠标和触摸事件用来处理与Camrea的交互&#xff0c;还有API来以编程方式操作摄像机。了解如何使用Camera API和自定义相机…

JAVA Junit error java.lang.SecurityException: class junit.framework.JUnit4TestCaseFacade

运行junit4时报错: java.lang.SecurityException: class "junit.framework.JUnit4TestCaseFacade"s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(Unknown Source) at java.lan…

windows下统一mysql编码_mysql5.7 windows7编码统一utf-8

查看mysql数据编码登录mysql服务&#xff0c;查看mysql数据库默认的编码mysql> show variables like character%;---------------------------------------------------------------------------| Variable_name | Value |------------------------------------------------…