使用ArcGIS GP服务之二手工建模

  前面打一个小广告,欢迎关注WebGIS微博

  建模,是我们发布GP服务的第一步,这是基础功。我们为什么要建模呢?

  对于现实的GIS业务来说,基本上都有相应的流程和规范,具体怎么做,都得按照步骤来。步骤少还好说,要是步骤多了,不仅效率低下,而且还容易出现工作错误,每一步都会产生中间文件。例如我们的天气预报,将收集各个气象站站点定位到地图上,然后剪出中国的版图来,再然后进行克里金差值等等,一些步骤以后,就可以得到相应的温度线或者降雨线。步骤都是规定好的,为什么不做成一个工具,然后直接输出结果呢?

  对,这就是建模的好处,我们通过将多个工具组合起来,生成一个工具,来完成整体的步骤化。

  上一篇博客介绍了,我们首先打开Model Builder。如果不知道怎么打开,请看上一篇博客吧。

  首先介绍一下,我们要实现的一个过程,某一个地方发生污染,周围哪些城市将受影响,我们这里只考虑距离吧。

下面是我们整个建模的思想。

1:得到受污染的区域 2:进行缓冲 3:将在缓冲区的城市选出来。

第一步,新建模型


最右侧的按钮。 

第二步,拖入工具

  我们可以将现有的工具,直接拖到这里面来。比如我拖一个Buffer工具。

使用ArcGIS GP服务之二手工建模_第1张图片

  其实如果找不到的话,我们可以进行一个搜索,快捷键Ctrl+F。

使用ArcGIS GP服务之二手工建模_第2张图片

  拖进之后的样子。

使用ArcGIS GP服务之二手工建模_第3张图片

  我们双击Buffer,我们可以看到Buffer的很多参数,前面带绿点的参数是必填的。

使用ArcGIS GP服务之二手工建模_第4张图片

第三步,设置参数

  参数分为两种方式填,一种直接填在这里面,另外一种是作为参数。有绿点是必填的,如果不输入这些参数,这个工具是黑白色的,不是彩色的。

  比如我在这里输入Linear unit :1 单位选择为Decimal degrees。

  如果是以参数的方式,来添加的话,有两种方法添加。

  • 先说第一种,右键buffer,选择Make Variable-From Parameter。我们看到后面的参数,和上图的参数是一样的。不过还是缺少了一个Output Feature Class。看一下Buffer右侧是什么?这是拖进来,自动就把这个参数添加进来了,我这里点击选择Distance[value or field]。

使用ArcGIS GP服务之二手工建模_第5张图片

  由于之前,这个参数,我已经设好值,所以说显示的是彩色的。后面的两个还是没有变成彩色,说明这个buffer还缺少一个必填参数。就是Input Features。

注意,我们点击这个Distance参数,也是可以修改这个参数值的。

使用ArcGIS GP服务之二手工建模_第6张图片

  我们这时候,使用第二种方式。

  在这里建模空白区域,右键选择Create Variable(创建变量),选择我们需要使用的参数类型,我们这里选择Feature Set。

使用ArcGIS GP服务之二手工建模_第7张图片

  点击,然后点击Feature Set,一直拖着鼠标不放到Buffer,然后松开。

使用ArcGIS GP服务之二手工建模_第8张图片

  然后会出现和这个类型匹配的,参数名字,这里我选择Input Features。

  按理说,这里我已经完所有的参数,应该变成彩色才对。回头想一下,应该是Feature Set没有设置成功,应该一些参数没有设置对。我们点击Feature Set。

  在这里我选择了一个区的shp文件。点击确定。

使用ArcGIS GP服务之二手工建模_第9张图片

  我们再去看一下,我们的模型,都变成了彩色。说明我们这个必须参数已经设置正确,正确与否,还不能确定。

 

使用ArcGIS GP服务之二手工建模_第10张图片

  我们先点击那个,进行检验一下啊,是否正确。争取的话,我们点击

使用ArcGIS GP服务之二手工建模_第11张图片

  运行完毕之后,可是并知道结果怎么样。

  这个时候,我们可以右键这个Out Feature Class,选择Add To Display。

使用ArcGIS GP服务之二手工建模_第12张图片

  如果不这么办的话,也是可以采用其他的方法的,点击Out Feature Class,我们这样就可以知道整个的输出地址什么了,当然作为参数我们也可以自己进行手动的设置。

  现在完了吗?其实对于输入Feature Set,我想进行一个手动画一些区域,然后进行一个缓冲区生成,来在Desktop上的一个检验。

  把原来的"Input Features"参数还原成最初的样式吧。

  在这之前,我们需要在Geodatabase文件中新建一个Feature Class,其中类型选择Polygon Feature。为什么要建立这个呢?因为我们需要将这个模板引入到这个参数中,让Desktop知道我们要输入的是点、线还是面之类的。

  右键这个属性,选择Properties。进入Data Type标签,然后刚才我们新建的Feature Class。

使用ArcGIS GP服务之二手工建模_第13张图片

  稍等,还有一 步需要完成,右键这个参数,然后选择Model Parameter。这个时候,就会出现一个P。所有出现P的,这个模型作为使用,都需要在使用的时候,作为其中一个参数出现,没有把它写死。那个缓存长度,由于没有加P,使用的时候,参数都是死的,不能进行改变,除非重新编辑这个Model,但是一旦发布成服务,就不能更改了。所以说,在使用之前,一旦要想好,那些参数是死的,哪些参数是在使用的时候,才能确定的。

使用ArcGIS GP服务之二手工建模_第14张图片

  为了GP服务的使用,参数的名字将会作为参数名称来提交的,为了更好的理解意思,最好更改一下名字,比如说,上图的"Feature Set",更改为"ContaminatedAreas"。

  这个时候,我们来保存这个模型吧。

第四步,初入验证模型

  打开这个模型。

    使用ArcGIS GP服务之二手工建模_第15张图片

  然后在Desktop画区域吧。

使用ArcGIS GP服务之二手工建模_第16张图片

  然后点击"OK",等待整个的运行完毕。

使用ArcGIS GP服务之二手工建模_第17张图片

  到了这里,我们缓冲区域基本上就够完成了。下面我们就要整体构建我们模型了。根据模型选择城市。

第五步,完成模型

  我们这个时候,需要添加一个新的工具,select layer by location。把第一步的输出结果,作为第二个工具的参数Selecting Features。然后再添加一个Input Features参数,选择相应的图层。等等。。。。。

  最后我们实现整个模型,是这样的。

使用ArcGIS GP服务之二手工建模_第18张图片

第六步,最后验证模型

  10.1版本,为了更加保证模型,没有错误,需要先进行跑一遍才可以发布。

使用ArcGIS GP服务之二手工建模_第19张图片

  在这里我添加了原来画的区域,我是怎么做到的呢?很简单。点击Geoprocessing-results。

使用ArcGIS GP服务之二手工建模_第20张图片

  然后把选中的,直接拖进去,就可以显示了,就能检验我们输入正确与否。

  这一博客,确实有些长了。

  下一个博客,我们就要做发布前的准备了。

       这是我的数据文件  下载

你可能感兴趣的:(arcgis)