【ArcGIS for Server】制作并发布GP服务--缓冲分析为例

摘要:
事实上,ToolBox中的各种工具都与py连接起来,如图所示,缓冲区分析只使用一个工具。在下一章中,我们将使用SilverLight调用此服务来进行页面的内部缓冲区分析。今后在ModelBuilder中创建的脚本文档只能存储在此处。该方法类似于window的系统变量:这是使用FeatureClass作为Buffer的输入数据的参考:我们设置的值可以在将来运行时默认。5.最后,整个GP工具的工作文件夹如下:

   原理:

   Geoprocessor是用py写的脚本,它简单语法,并可以调用大部分ArcGISToolBox里的现有工具,十分强大。Geoprocessing被称之为地理处理,实际上就是ToolBox里的各种tools用py连接起立,连续处理而不用反复操作单个工具,流程化了。ArcGIS还提供了一个可视化的构建Geoprocessor工具,叫ModelBuilder:如图

image

缓冲区分析只用到一个工具,在工具箱的Analysis Tools->Proximity->Buffer。下面就是制作一个GP包。

1.准备数据:一个点shp图层。

         因为是一个缓冲分析,下一章我们要用SilverLight调用该服务做页面的内的缓冲分析,做一个点的缓冲分析,最后输出一个shp。新建一个工作空间,供GP使用,默认的workspace是windowsuser的目录,程序不能随时创建。然后再里面创建一个shapefile,指定其坐标系为web Mercator。

image

将该图层添加到ArcMap中,编辑,添加几个测试点,保存。

2.准备GP工具的容器,新建,注意是下面那个,不是上面那个python Toolbox:

image

将来在ModelBuilder里创建的脚本文档只能存放在这里面。

3.创建GP脚本,打开ModelBuilder如下操作:

image

然后右击ModelBuider的工作区域空白,设定其Model Properties中的Scratchworkspace:

image

设定该参数是让tools可以引用该参数,方式类似于window的系统变量:%scratchworkspace%;

添加featureclass,也就是创建的点图层,然后用连接线将其指向buffer工具,然后选择提示的inputFeatures选项,这是将该FeatureClass作为Buffer的输入数据的引用:

image

双击Buffer工具,设定参数变量,缓冲20米,其他默认和输入路径:

image

注意那个引用方式。

然后整个工具的颜色就变成可运行的状态了,如果某一个工具颜色还是白色,说明其参数没配置好,检查就可以:

image

4.运行测试GP:先点击验证√,然后点击运行:

image

最后在文件夹上刷新就看到结果,托放到ArcMap中,看看结果:

image

最后,最重要的是指定参数化,也就是将输入和输入都参数化,将来运行的时候可以默认我们设定的值,也可以指定参数,实用性更强大,部署到ArcGIS Server中有实用价值:

右击point和buffferdpoint如下:

image

保存该GP,选择之前创建的tbx文件:

image

5.最后整个GP工具工作文件夹如下:

image

6.运行该脚本,为什么要如此?

因为只有通过单独运行的并且成功的GP才能被发布到Server中,之前在ModelBuilder中处于调试环境,单独运行是在Python+arcpy环境下,需要设定全局变量以适应我们的脚本中scrathworkspace:

image

右击BufferModel,选择run,结果在是在Geoprocessing->result中,右侧就是运行成功之后,Current Seesion有一条记录:

image

7:发布GP服务:

右击上图中restults,BufferModels,有一个选项,:

image

image

image

image

出现服务发布配置的界面,点击Analysis,如果出现问题,会在下面有提示,双击该提示,一般是参数注释之类的,填上即可:

image

如:

image

依次类推,所有的参数都要有说明文档,直到Analysis没有X号就可以点发布了。

8.在ArcGIS Server web管理页面中验证该服务:

打开Server的服务列表,找到刚发布的服务,点到功能,点击rest服务:

image

image

image

image

image

image

image

成功。你的成功了没?

总结:

GP实际上是一种py脚本,可以运行在ArcMap中,可以运行在Server中,运行在Server中就作为一种服务功能,称之为Geoprocessor,很形象,地理处理器。简化了以前使用.net开发一个服务器扩展的麻烦(SEO),相当的简单,对于GIS开发者普遍开发水平不高的情况下,有很强的使用价值。缺点就是,性能慢。

Continued:下一节,我们讲使用SilverLight调用该服务,在前端绘制一个点的缓冲分析,很有意思哦,期待吧。

免责声明:文章转载自《【ArcGIS for Server】制作并发布GP服务--缓冲分析为例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇确保nginx安全的10个技巧lodash 展平数组 flatten flattenDeep下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

kudu 学习知识点总结(二)

1、KUDU分区数必须预先预定 2、在内存中对每个Tablet分区维护一个MemRowSet来管理最新更新的数据,默认是1G刷新一次或者是2分钟。后Flush到磁盘上形成DiskRowSet, 多个DiskRowSet在适当的时候进行归并处理 3、和HBase采用的LSM(LogStructured Merge,很难对数据...

Chrome 35个开发者工具的小技巧

来源:w3cplus - 南北(@ping4god) 网址:http://www.w3cplus.com/tools/dev-tips.html 谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器。伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chrome变成了一个必须的工具。大多数可能熟悉关于chorme的许多特点,例如使用console...

linux+jenkins生成测试报告及任意IP打开链接能看到allure报告

前言: 曾经你有没有为allure测试报告而困惑?那么相必可以帮助到你。不知道如何在linux服务器上部署一个静态thml,把allure报告静态文件部署,有的使用tomcat部署,有的人打开jenkins查看。 而我,部署一个node.js的Anywhere,它是一个随启随用的静态服务器,它可以随时随地将你的当前目录变成一个静态文件服务器的根目录。由此我...

Windows 10 彻底关闭 Antimalware Service Executable 降低内存占用

概述 最近给内网的一台电脑安装 Windows 10 专业版系统,由于此电脑不会涉及到不安全因素,所以杀毒软件非必须。 以最大限度节省系统资源考虑,默认安装的 Micoroft Defender 占用了大量内存,而且还有不断增长的趋势。 参考了网上五花八门的方法:修改注册表、编辑组策略等等,但是没有一种方式能真正的关掉 Antimalware Servi...

grafna与饼状图

官网: https://grafana.com/plugins/grafana-piechart-panel/installation            https://grafana.com/plugins/grafana-piechart-panel(这个)   服务器版本: cat /etc/redhat-release CentOS L...

attrib命令

attrib指令的格式和常用参数为:ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]   +    设置属性。   -     清除属性。   R    只读文件属性。   A    存档文件属性。   S    系统文件属性。   H ...