GP(Geoprocessing)服务的发布与调用
转自:http://www.cnblogs.com/gisangela/archive/2011/01/06/1927702.html
1、什么是GP服务
GP服务是Geoprocessing服务的简称,Geoprocessing包含了一系列地理数据处理的功能,像做缓冲区分析、叠加分析、以及对栅格数据制作阴影图等等。在桌面软件中可以通过ArcToolbox中的工具直接调用Geoprocessing的功能,而如果期望通过web来调用GP的功能,就必须借助于GP服务了。Esri的帮助文档中介绍了发布GP服务的两种方式:
l Publish a geoprocessing toolbox. Each tool in the toolbox becomes a task in the geoprocessing service.
l Publish an ArcMap document containing geoprocessing tool layers. Each tool layer becomes a task in the geoprocessing service.
也就是说我们既可以将某个工具单独发布为一个服务,也可以将该工具作为一个工具图层(tool layer)和地图文档一起发布,这样会同时得到同名的一个地图服务和一个GP服务。这里地图服务中的图层可以当做GP任务的数据源,也可以利用工具图层得到的结果来控制最后输出图层的符号。
2、如何发布GP服务——buffer为例
2.1 案例介绍
这里我们使用ArcTutor\Using_ArcGIS_Desktop\MexicoPopulationDensity.mxd【已经安装ArcTutor练习数据】作为地图服务,并且调用GP中的Buffer工具来进行缓冲区的创建。这里我们采用地图文档和工具一起发布的方式,GP服务的输入为通过和地图交互得到的点(即feature set),而直接使用buffer工具的话输入参数只能是要素类或图层,所以需要通过ModelBuilder制作模型来让GP服务正确读取输入参数。
2.2 准备模型
在ArcTutor\GP Service Examples\BufferPoints目录下,会看到已经制作好的示例模型。在这里截图展示:

具体的操作步骤为:
(1)在该文件夹中创建自定义工具箱,右键——new——toolbox,命名为BufferService;
(2)在该工具箱中新建模型,右键——new——Model;
(3)在打开的ModelBuilder界面中,将Analysis工具箱中Buffer工具拖放进去,现在工具还没有输入参数,而根据要求输入是用户跟地图交互时产生的。这就需要我们进行下面的设置;
(4)在Buffer工具上右键菜单中设置变量——从参数——输入要素;


(5)现在一个完整的模型流程已经创建好了,但是还处于不可执行状态。因为我们还未指定输入数据源,这里就需要借助一个空的要素类来作为feature set的模板。这里我们新建一个geodatabase,在其中新建一个point类型的要素类;
(6)在Input Features右键属性的Data Type选项卡中,指定“select data type”的类型为Feature Set,“Import schema and symbology”为上面一步中创建的要素类;

(7)现在模型就会变成彩色的,即可执行状态。为了以后便于修改缓冲区距离这个参数,我们也用第四步中的办法把距离参数提取出来,作为模型的参数。OK,到这一步我们的模型就制作完毕了,下一步我们在ArcMap中测试一下模型;
(8)将MexicoPopulationDensity.mxd打开,把制作好的模型添加进去,模型自动会被识别为工具图层。打开工具,按照提示通过与地图交互的方式获得输入的若干个点,点击OK执行,能够顺利得到点的缓冲区那么测试就通过了。现在取消刚生成结果图层的可见性,保存地图文档,下面一步要做的就是发布服务。
2.3 发布服务
打开ArcCatalog,在该地图文档上弹右键菜单,选择Publish toArcGIS Server,指定名称后点击下一步,如图所示这里除了Mapping service之外还会出现Geoprocessing Service。


3、如何调用GP服务——Flex API
GP服务的执行有两种方式,同步(synchronous)和异步(asynchronous),同步的调用方法为execute,异步的调用方法为submitJob,区别详见帮助。下面一段就是使用Flex API调用GP服务的代码,这里GP服务的名称为BufferPoint,测试环境为Flex Builder 3+ArcGIS Server 9.3。
GP(Geoprocessing)服务的发布与调用的更多相关文章
- GIS有关GP服务的发布和调用
打印服务范例:http://blog.csdn.net/jingxinwjb/article/details/51906464 1.通过Modelbuilder新建工具.(注意:假如工具输出两个以上的 ...
- ArcGIS GP服务的发布及调用
参考https://www.jianshu.com/p/5331fa708fe5
- dubbo服务的发布和调用
Dubbo是分布式服务架构,是一个优秀的开源服务型框架,使得应用可以通过高性能的rpc实现服务的输入和输出功能.其实dubbo就是资源调度和治理中心的管理工具. 发布dubbo服务:在提供服务的应用中 ...
- ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
原文:ArcGIS API for Silverlight 调用GP服务准备---GP模型建立.发布.测试 第一篇.GP降雨量等值线建模.发布及测试 在水利.气象等行业中,要在WebGIS中实现空间分 ...
- springboot2.0+dubbo整合分布式服务发布和调用
最近项目上要对以前的老项目做分布式的整改,因此我专门花了点时间研究下当前比较热门的dubbo和springboot结合使用,以前使用过dubbo,但是没有与springboot结合过,在网上查了点资料 ...
- 使用GeoServer+OpenLayers发布和调用WMTS、Vector Tile矢量切片服务 | Publishing and Calling WMTS, Vector Tile Service Using GeoServer + OpenLayers
Web GIS系列: 1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 2.使用GeoServer+QGIS发布WMTS服务 3.使 ...
- SpringCloud之Eureka:服务发布与调用例子
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的. SpringCloud将它集成在其子 ...
- java版gRPC实战之二:服务发布和调用
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云
向视图中添加服务 现在,ASP.NET MVC 6 支持注入类到视图中,和VC类不同的是,对类是公开的.非嵌套或非抽象并没有限制.在这个例子中,我们创建了一个简单的类,用于统计代办事件.已完成事件和平 ...
随机推荐
- EXTJS 4.2 资料 控件lable定义
代码: { xtype:'label', id:'label', labelSeparator :'', // 去掉laebl中的冒号 fieldLabel : '这是个label' } 赋值: Ex ...
- codeblocks常用快捷键
CodeBlocks常用操作快捷键编辑部分:Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / ...
- submit与button区别提交区别
提交表单时使用submit会自动提交form表单数据, 如果使用jquery的form表单插件时需要将提交按钮改为button时$("#表单id").ajaxSubmit({}); ...
- python学习笔记27(python中sys模块的使用)
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info() 获取当前正在 ...
- PAT-乙级-1032. 挖掘机技术哪家强(20)
1032. 挖掘机技术哪家强(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 为了用事实说明挖掘机技术到底 ...
- Good Bye 2015B
Problem B:http://codeforces.com/contest/611/problem/B B. New Year and Old Property 题意:问输入的年份a到b中转化为二 ...
- Linux rm命令
rm可以用来删除文件和文件夹. rm --help Usage: rm [OPTION]... FILE... Remove (unlink) the FILE(s). -f, --force ...
- php采集远程文章简单类
<?php /** * 采集类 * @author Milkcy * @copyright (C) 2012-2015 TCCMS.COM * @lastmodify 2012-07-10 14 ...
- 解决ListView 跟ScroolView 共存 listItem.measure(0, 0) 空指针
在网上找到ListView 和ScroolView 共存的方法无非是给他每个listview 重新增加高度,但是android 的设计者始终认为这并不是一种好的实现方法.但是有的时候有必须要用这种蛋疼 ...
- 一个简单的C#加密解密类
//DES默认密钥向量 private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }; /// < ...