利用ArcGIS Server发布Geoprocessing服务转载

原文地址http://hi.baidu.com/gis%C0%ED%CF%EB/blog/item/78954da1fc618c8c4610646a.html

大家好!我是GIS理想!今天我主要讲讲基于ArcGIS Server9.3GPGeoprocessing)服务的发布,此过程主要涉及到ArcMap里对改model的测试 然后是在arcgis server manager里发布此服务 由于在实际的开发中这点应用的比较多 因为在这个最最基础的环节 我会说的比较详细(一贯的风格哈~

在讲解这个之前有个小插曲哈 就是带给大家一个比较振奋的消息 就是ESRI即将推出arcgis server 9.3.1的版本 这个是针对server9.3的一个可升级版本 估计在第二季度发布 增加了很多的人性化设置 比如 可以直接从9.3的版本升级无需卸载ArcGIS 9.3即可升级至ArcGIS 9.3.1 增强了对java的支持 加快了地图缓存速度。。。。。。。详情请大家自行了解

好了 言归正传 继续讲述GP服务的发布

数据:mxd文档(NewOrleansArea.mxd)

tbx文件(GP Models for ArcGIS Server.tbx

关于这个model 大家可以参照此图自行建模(如下图):

(此模型的作用是通过在地图文档上点击添加一个点 然后在地图上依此点为中心 按照设置的半径做缓冲 然后对地图上的特定点层进行分析 把落在此缓冲距离内的点显示出来)

第一步:打开ArcMap 打开NewOrleansArea.mxd 注意到Shelters图层 这个就是要进行地理处理的图层 打开arctoolbox 右键添加本地model 浏览到GP Models for ArcGIS Server 添加进去 此时arctoolbox里会显示一个新toolbox 展开有个Clip Shelters With Buffer 对此右键选择编辑 此时就打开了如上图显示的界面 我们确认一下这个模型的相关设置

打开tools——options——Geoprocessing选项 确定如下图设置:

设置完毕 我们在model里右键input feature选择属性 点击数据类型选项卡 注意此处的的input parameter默认为feature set 点击ok退出

双击buffer 这里设置了缓冲半径为10miles 你也可以自行设置 点击ok退出

右键output buffers 注意manager呈选中状态

双击clip工具 注意此处的input featureShelters 也就是说要输出的元素在这个图层里面 默认退出

右键nearby shelters 选中属性 点击图层符号选项卡 注意一下路径即可 cancel退出

第二步 arcmap里测试这个model并保存 arctoolbox里双击这个model 弹出一个窗口 此时点击右边的小图标 然后可以在下方设置要缓冲的距离和单位 这么我们用默认的 然后在右边地图显示区点击一下(为了取得很好的观察效果 请在点状符号附近点击) 然后OK 这样model就开始处理这个过程了 完成后会在toc里添加一个图层 这个图层就显示了落在缓冲距离里面的点位 这里默认显示的图层为 S_Clip

好了 测试完毕 我们将S_Clip删除 然后我们在arctoolbox里吧这个model拖到toc的显示图层最上面 这时我们就可以直接保存这个文档了 其实这里的model就相当与一个工具图层了 只有保存在这个地图文档里 当你以后发布服务的时候 才可以调用它

第三步 创建mapservicegp服务 这个过程我们在manager里完成 我们打开ArcGIS Server Manager 点击左侧的service标签 在右边点击public a gis service 浏览到要发布的地图文档 如此处的NewOrleansArea.mxd 点击下一步 这时候请注意 下面的Geoprocessing Service呈选中状态 这就说明这个地图文档是含有地理处理工具的

     下一步 点击完成即可 此时在你的services列表可以看到两个发布的服务 一个是地图服务 一个地理处理服务 如果此处提示错误信息的话 请验证你的访问权限的设置还有地理处理工具图层添加到MXD没有

(接上)第四步 创建可调用此Geoprocessing ServiceWeb Application

点击左侧的Application标签 然后在右边点击Create Web Application

输入要创建的名字和描述信息 下一步 添加图层 浏览到NewOrleansArea即可 注意在此处选择基于Interent的接入方式 如图:

添加后 点击下一步 这一步很关键了 先添加一个Task 弹出的窗口里选择Geoprocessing 然后就要为这个地理处理添加一个现有的发布过的地理处理服务 然后点击Supporting Services 在弹出的窗口里浏览到上一步发布过的Geoprocessing Service 然后ok

在点击下面的配置(configure。。)在这里对这个服务进行相关参数的运行设置 如图:

注意上面的namehelp tip 可以自行设置 下面的参数可以自行设置 这里我修改了一个Help Tip 其余默认即可

注意:如果这个配置窗口无法弹出的化 或者提示配置有错误的话 请务必检查你的这个地理处理服务的用户权限和是否添加到了地图文档中去了

然后操作就很简单了 直接下一步 最后完成即可 下图显示最后的效果:

说明:此处的处理服务已经调用过了 显示结果在Results里显示了 右边地图显示区有一个绿色的小圆点 是我刺上去的点 这个绿点附近的有三个点位内部显示了这个绿点 就是实现了点击绿点周围10 公里以内的点状图层的要素 请大家注意results上面有个Geopreccessing标签 点击即可弹出一个窗口 有个刺点的图标 点击即可在右边地图区域刺点了 然后运行即可在results里显示出结果了

好了 全文完毕

当然了 主要还是服务的发布 只要服务的地理处理模型构建好了 那么主要还是在server开发里用起来才有价值 还有Flex里调用此服务的时候也更加方便了 这两点应用都很有发展前途的(以后再讲) 。。。。。。。。完成收工!好困啊 觉觉去 了

原文地址:https://www.cnblogs.com/hl3292/p/1965139.html