ArcGIS Model Builder 变量参数 SHP文件传参数

在GP的使用过程中,受限制与GP模型的输入输出参数类型,只能是简单的数据类型才能做为参数。本文通过在服务器端进行SHP文件叠加处理来说明如何进行变量参数的传递

1、GP模型创建,GP功能为两个SHP文件进行交集取反,模型如下


上图中 InputNMG、jobid/、inputPro 作为变量,在Model Builder中可以使用创建变量工具进行创建,类型为字符串,如下所示,值为 SHP文件路径


变量已经创建完成,如何使用ToolBox使用这些变量值呢,如下图所示,可以使用%变量值%这样使用变量


最后输出的结果为临时工作空间目录,使用%ScratchWorkspace%代表临时工作空间路径

那么这个脚本已经创建完成,之后成功执行一次之后直接可以发布为ArcGIS Server GP服务模型,然后通过FLEx JS、Silverlight API进行调用

附JS调用代码

gp = new Geoprocessor("http://localhost:6080/arcgis/rest/services/SymmetricalDifference/GPServer/SymmetricalDifference");
var params = { "InputNMG": "路径\\XJ.shp", "inputPro": "路径\\ProPy.shp","jobid":"110" };

gp.submitJob(params, gpJobComplete, gpJobStatus, gpJobFailed)
function gpJobComplete(jobinfo) {
//使用结果地图服务进行显示
var mapserviceurl = "http://localhost:6080/arcgis/rest/services/SymmetricalDifference/MapServer/jobs";
var mapurl = mapserviceurl + "/" + jobinfo.jobId; alert(mapurl); var hotspotLayer = new esri.layers.ArcGISDynamicMapServiceLayer(mapurl, { "id": "HotspotLayer", "opacity": 0.7 }); console.log(hotspotLayer); map.addLayer(hotspotLayer);}function gpJobStatus(jobinfo) { alert("gpJobStatus :" + jobinfo.jobStatus);}function gpJobFailed(jobinfo) { alert("gpJobFailed :" + jobinfo);}








展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值