转自http://hi.baidu.com/gis%C0%ED%CF%EB/blog/item/78954da1fc618c8c4610646a.htm
数据: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 feature为Shelters 也就是说要输出的元素在这个图层里面 默认退出
右键nearby shelters 选中属性 点击图层符号选项卡 注意一下路径即可 cancel退出
第二步 在arcmap里测试这个model并保存 在arctoolbox里双击这个model 弹出一个窗口 此时点击右边的小图标 然后可以在下方设置要缓冲的距离和单位 这么我们用默认的 然后在右边地图显示区点击一下(为了取得很好的观察效果 请在点状符号附近点击) 然后OK 这样model就开始处理这个过程了 完成后会在toc里添加一个图层 这个图层就显示了落在缓冲距离里面的点位 这里默认显示的图层为 S_Clip
好了 测试完毕 我们将S_Clip删除 然后我们在arctoolbox里吧这个model拖到toc的显示图层最上面 这时我们就可以直接保存这个文档了 其实这里的model就相当与一个工具图层了 只有保存在这个地图文档里 当你以后发布服务的时候 才可以调用它
第三步 创建mapservice与gp服务 这个过程我们在manager里完成 我们打开ArcGIS Server Manager 点击左侧的service标签 在右边点击public a gis service 浏览到要发布的地图文档 如此处的NewOrleansArea.mxd 点击下一步 这时候请注意 下面的Geoprocessing Service呈选中状态 这就说明这个地图文档是含有地理处理工具的
下一步 点击完成即可 此时在你的services列表可以看到两个发布的服务 一个是地图服务 一个地理处理服务 如果此处提示错误信息的话 请验证你的访问权限的设置还有地理处理工具图层添加到MXD没有。
第四步 创建可调用此Geoprocessing Service的Web Application
点击左侧的Application标签 然后在右边点击Create Web Application
输入要创建的名字和描述信息 下一步 添加图层 浏览到NewOrleansArea即可 注意在此处选择基于Interent的接入方式 如图:
添加后 点击下一步 这一步很关键了 先添加一个Task 弹出的窗口里选择Geoprocessing 然后就要为这个地理处理添加一个现有的发布过的地理处理服务 然后点击Supporting Services 在弹出的窗口里浏览到上一步发布过的Geoprocessing Service 然后ok
在点击下面的配置(configure。。)在这里对这个服务进行相关参数的运行设置 如图:
注意上面的name与help tip 可以自行设置 下面的参数可以自行设置 这里我修改了一个Help Tip 其余默认即可
注意:如果这个配置窗口无法弹出的化 或者提示配置有错误的话 请务必检查你的这个地理处理服务的用户权限和是否添加到了地图文档中去了
然后操作就很简单了 直接下一步 最后完成即可 下图显示最后的效果:
说明:此处的处理服务已经调用过了 显示结果在Results里显示了 右边地图显示区有一个绿色的小圆点 是我刺上去的点 这个绿点附近的有三个点位内部显示了这个绿点 就是实现了点击绿点周围10 公里以内的点状图层的要素 请大家注意results上面有个Geopreccessing标签 点击即可弹出一个窗口 有个刺点的图标 点击即可在右边地图区域刺点了 然后运行即可在results里显示出结果了
好了 全文完毕 !