您的位置:首页 > 运维架构

ArcGIS Server发布Geoprocessing service

2011-06-08 00:36 330 查看
使用ArcGIS Server,可以发布geoprocessing service(GS),你可以提交作业到服务器上,它可以自动返回结果集。这一过程是通过在arcgis中建立model完成的。

在创建gs之前,应该注意以下几点:

1、建立gs的必要条件?
首先,需要在ArcGIS Desktop中使用ModelBuilder工具建立一个model。所谓的model就是一个由geoprocessing tools和脚本组成的一系列处理流程。单独的tools或者scripts是不能作为gs的,它们必须是包含在model中。

2、model可以使用的数据类型

gs支持有限的输入与输出数据类型,发布gs前必须保证数据类型的正确性。

3、服务器作业路径

在安装ArcGIS Server的时候,gs的有默认的c:\arcgisserver\arcgisjobs路径。当你使用gs时,model的间接的和最终输出数据都存储在这里。每一个model或者job都有单独的文件夹,这样可以防止发生混淆。

这个作业路径的主要目的就是帮助你管理好输出数据的,所以我们不用去考虑model envrionment中的scratch和current workspaces问题。

具体流程:

1、在Desktop中建立model。

再建立model时有几个注意的问题:

输入数据作为参数时,可以将它显示出来,这时候会有一个“P”出现在旁边,这样方便我们理解模型的含义。

添加tools时可以在菜单栏的geoprocessing下,用search工具去查询,可以很快找到所需要的工具。

默认情况下,在一些tools中输入数据默认的数据类型是不被gs支持的,比如Featurn Layer等。

在输出要素时候可以将输出路径设置为%SCRATCHWORKSPACE%\[name].shp,SCRATCHWORKSPACE是一个变量,它可以将间接数据存放在一个临时的位置。具体可参考arcgis的帮助文档。

2、准备好map document与model

我们使用web application来显示gs的处理结果。这里有两种方案可供选择,一个是将model的结果直接显示在客户端。另一种是将结果放在服务器,服务器把完成后的图像传送给客户端。它们之间的区别主要是在符号化上面。后一种方法更为强大。

step:

创建好一个map document,添加一些数据,然后将model添加进来,model需要放在最上面的图层上。勾选geoprocessing中的options选项中的Overwrite the outputs of geoprocessing operations。

Remember: Having a tool layer in your map is the key to getting a geoprocessing service that will work with your map service.

再有,在发布gs前,必须先运行一次model。

保存好map document,接下来发布gs。

发布gs

这里需要注意的是权限的问题,即SOC用户有权去访问数据,作业路径是否授权等。

有两种方法可以发布gs,其一是发布GIS Resource,其二是发布Map service。区别在于它的自动化程度,GIS Resource设置较少,基本是自动发布,而map service需要手工输入些参数等。

无论用那种方式,在选择capabilities要勾选Geoprocessing,打开地理处理功能。

具体过程较为简单,可参考相关文档。

创建web application

需要注意的是其中的一些设置问题:

1、geoprocessing是通过添加task实现的,可直接通过support service添加我们建立好的gs。

2、add layer在这里的含义是添加你的map service,在这里,即刚刚发布的GIS Resource建立的service。

按照以上步骤,结果基本如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: