天天看点

毕业设计总结:(1)GP工具发布

GP工具的制作和发布,是ArcGIS使用中重要的一环,能力强的学长们都会选择根据自己的需要自己制作GP工具,关于如何制作GP工具,我的能力有限,只能和大家一起学习。

本文涉及到的GP工具发布,是我的本科毕业设计《基于Internet的DEM河流网提取分析研究》中的一部分,而河流网提取功能使用的就是我自己在ArcGIS中打包的GP工具,好了废话不多说,直接进入正文部分。网上类似的教程很多,希望想学好这些知识的同学自己多动手试试。

首先我们介绍简单介绍下GP工具。GP框架是一组用来管理和执行工具的窗体和对话框,具体包括以下三部分:

ArcToolbox.

ArcGIS提供的地理处理工具集,这些工具支持高级的空间处理。

ModelBuilder.

使用一系列GP工具构建工作流的可视化编程语言。在ArcGIS中,ModelBuilder是可视化编程环境,通过对现有工具的组合完成新模型或软件的制作。

Python-Arcpy.

使用Python脚本语言操作地理处理工具,实现更强大的地理处理工具和程序。

GP工具的发布大致分为一下几个步骤:

1.

分析需求,确定自己将使用到哪几种工具;

2.

根据确定的需求,在ArcGIS中将工具打包,设置好流程。

3. 发布GP服务,通过REST URL或者SOAP

URL调用。

我们这次先讲GP工具的发布,以河流网提取分析服务为例。

河流网提取的功能是水文分析中的重要环节,包括了一系列的流程:

以上的流程主要是针对ArcGIS而言的,因此其他的河流网自动提取软件可能会不一样,仅供参考,不过GP服务的发布也是ArcGIS中的,可能这篇文章的读者更多的是ArcGIS的用户。因此如果你涉及到河流网的提取功能时,整个的流程都应该如上所示。

进入ArcGIS界面,选择上面功能栏的“Geoprocessing”,下拉框中选择“ModelBuilder”(中文版的界面应该也差不多):

点击后会出现空白的Model窗口:

此时的操作极为简单,就是打开ArcGIS的工具栏界面,将需要用到的工具直接拖进来,设置好每个函数的参数。而我们都知道某种地形分析工能往往涉及到很多工具,因此就要通过建模把每个工具串联起来,而ModelBuilder中也支持这种操作,具体的做法分两种;

第一种做法很简单,每个工具都会需要设置参数,而当我们设置好数据库后,直接将上个工具的生成结果设置为下个工具的输入参数,这样就可以把不同的工具连接在一起;

第二种做法也很容易,直接在界面上用右三的箭头将不同的工具连接起来。

而河流网提取的流程已经有流程图(上文),而涉及到的工具主要在“Spatial Analyst

Tools”工具下的“Hydrology”,点击后用到的是“Fill”→“Flow Direction”→“Flow Accumulation”→“Raster

Calculator”(这个工具是在其他分组下的。可使用ArcGIS的搜索工具进行搜索,然后调用)→“Stream Link”→“Stream to

Feature”。具体的流程图如下:

    在“Raster

Calculator”中需要设置阈值,具体的思想可以参考他人的文章,其用法这里不再赘述。

这里的输入数据是DEM类型的数据,设置完成后还有一个经常被遗忘的一个环节。在ArcGIS中,GP工具的发布是需要运行承购一次后,在Results窗口发布的。而如果你没有在模型中设置“模型参数(Model

Parameter)”的话,模型是不可能运行的,软件会提示你缺少参数噢~~~设置完成后,就可以在Results窗口发布了。

你如果不知道Results窗口在哪,那是因为你观察不够仔细。平时在ArcGIS左侧显示的是TOC窗口,窗口底部有三个窗口可以切换,在Results窗口中可以看到最近运行成功的工具箱。

接着就是一路的确定了,如图:

在工具发布完成后,我们可以登陆ArcGIS Server Manager界面进行查看,也可以对已经发布的服务进行参数的修改。

左侧的HydrologyGP就是我们发布的服务。服务的发布可能会出现很多的错误或者其他状况,不要着急,把你的错误复制到Google搜索一下,肯定会有解决办法的。如果还解决不了,可以和我联系。

下一篇文章,我们来谈谈GP工具的调用。