arcgis js(九)地理处理任务 发布GP服务

1、地理处理Geoprocessing,简称GP,是一个很重要的概念,我们都知道arcgis工具箱提供的各种工具,其实它们的本质就是一个一个的地理处理任务,只不过是arcgis提前写好了输入输出。在web端也能够调用工具箱所有的工具,先创建一个模型构建器,然后把这个模型发布为地理处理任务GP Task给arcgis js调用即可。

 

2、创建task的方法全部放在"esri/tasks" api中,自从ArcGIS API for JavaScript 4.0之后才支持这种操作,所以说arcgis api这两年的发展给现在的开发者提供了极大的便利,包括移动端的开发,两者基本同步,节省了大量开发时间👍。

3、GP Task只是众多tasks中的一个,其他还有:

 比如GeometryService几何服务,GeometryService的很多操作在GeometryEngine都能找到,例如project, simplify, buffer, and relationships,只不过GeometryService是服务端,GeometryEngine是客户端,同理其他的服务在客户端一般都有,根据用户需要进行选择,这里着重介绍Geoprocessor

4、Task类型的处理都是放在服务器上的,如何发布也是地理处理任务很重要的一部分。先讲解发布GP Task的方法:

首先打开arcgis,打开一个数据,我用的point.shp,打开工具箱,添加一个工具箱:

 选择新建工具箱:

找到工具箱位置,右键新建模型:

打开搜索框,查询缓冲区:

将第二个拖入到模型当中:

 先选择 输入要素,在选择 距离

右键选择 重命名,然后选择 模型参数

 

  效果是这样的:

双击dis或者右键打开,输入距离,比如100米:

 然后修改input,输入参数:

 模型的颜色会自动变化,点击保存即可:

 双击模型或者右键打开,运行该模型,对point.shp做点的缓冲区,结果:

 运行完毕打开菜单的地理处理,选择结果

 开始共享服务:

终于开始发布地理处理服务了(ง •_•)ง

可以自由选择放在哪个文件夹,这里默认放在根目录下面:

 

REST URL就是我们调用的服务:

参数的致性模式里面有两个重要的选项:同步和异步

同步和异步定义了客户端(使用任务的应用程序)如何与服务器进行交互以及如何获取任务结果。服务设置为同步时,客户端将等待任务完成。通常,同步任务的执行速度很快,大概需要 5 秒或更短。异步任务的执行往往花费的时间较长,客户端必须定期向服务器发出询问以确定任务是否已完成,如果完成,则获取结果。使用异步任务的 Web 应用程序必须添加函数逻辑来检查任务状态,并在执行完毕后处理结果。ArcGIS Desktop 客户端可以处理这两种执行类型。

 ​​​​​​

注意将input的输入模式设置为用户定义值,这样就能按照任意输入计算输出:

 

项目描述随便写一写,不然会有警告: 

 点击右上角的分析按钮,如果没有任何问题点击发布,速度应该很快。

5、在arcgis js中 执行GP Task分为synchronous同步和asynchronous异步,分别用executesubmitJob表示,我们用发布的点缓冲区任务分别来执行缓冲区分析,在后面的章节中分别实现这两种方法。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值