文章目录
1.什么是GP服务?
在WebGIS开发当中,虽然ArcGIS API提供给我们很多的接口,但是现实需求总是千变万化的,很多可能部分需求在我们的API中没有实现,而GP服务就弥补了这一个缺点,我们可以将ArcGIS中的GP工具发布为服务,提供给我们前端调用。
1.1GP服务的分类
GP服务从返回类型上可以分为:
-
返回矢量数据
-
返回栅格数据
在本实例中主要演示为返回矢量数据。
1.2GP服务的参数对应
在ArcGIS中,GP工具的参数和GP服务的参数是有一个对应参数的,在现实开发中,GP服务总是容易调用失败,这很有可能便是GP服务的参数不对应导致,因此:当我们发布GP服务时,参数便是我们高度重视的地方。以下是GP服务和GP工具参数对应表:
2.发布GP服务
在本实例中以缓冲区分析为例,发布一个GP服务。在ArcGIS10.1版本以后,发布GP服务之前需要将GP工具成功运行一次才可。发布GP服务的步骤大致分为以下几步:
- 创建GP模型
- 修改模型参数,运行模型
- 在结果窗口将运行成功的GP模型共享为服务
##2.1创建GP模型
- 新建一个工具箱并创建一个新模型取名为Mybuffer
- 右键Mybuffer点击编辑构建缓冲区模型
2.2修改模型参数并运行模型 。
- 修改变量名称,将变量名称改为英文
- 右键dis,Input,out变量点击模型参数
- 修改Input变量的数据类型,改为输入要素集
- 设置临时命名空间,右键空白处,点击模型属性,设置环境
- 点击保存运行模型
- 运行成功
2.3在结果窗口将运行成功的GP模型共享为服务
- 点击地理处理->结果打开结果窗口
- 右键模型共享为地理处理服务
- 服务名称为MyBuffer,存放在Test目录下:
- 将参数的执行模式改为同步
- 将模型名称,输入参数,输出参数改为英文(如果本身是英文则不需要修改)
- 发布成功
3.查看服务是否成功
- 打开网址输入http://localhot:6080/arcgis/rest/services进入ArcGIS REST Services Directory
- 进入我们的Test目录找到我们发布的服务
- 找到GP服务的task任务查看服务的详细信息
- 从网址执行GP服务,点击Execute Task进入执行页面
- 在页面的Input输入以下代码点击执行
{
"fields":[],
"geometryType":"esriGeometryPoint",
"features":[{"geometry":{"x":21266163.705518104,"y":4004678.1217188686,"spatialReference":{"wkid":2334,"latestWkid":2334}}},
{"geometry":{"x":21265688.294761922,"y":4008771.9365637503,"spatialReference":{"wkid":2334,"latestWkid":2334}}}],
"sr":{"wkid":2334,"latestWkid":2334}
}
- 如图所示:
- 若出现以下结果便成功了!
4.补充(GP服务所用数据)
- GitHub的数据及代码下载地址为:GitHub的数据及代码下载链接(如果从GitHub下载代码,麻烦给小
Demo
一个Star
,您的支持是我最大的动力)