用ModelBuilder来完成地学分析的作业

ArcGIS的ModelBuilder工具还是相当神奇的,用它来调用ArcToolBox中的各种工具,可以交互式地完成建模流程,同时又能达到自动化、流程化的效果,还能体现逻辑之美。这样的建模方式也使得模型便于分发和共享,当然,这得在你的模型足够好和通用的情况下。

根据我的理解,ArcToolBox可以看作一组基础类库,而ModelBuilder是一个可视化的接口,ArcPy则是一个代码接口。所以,两者调用的东西是一致的,ModelBuilder的模型可以导出为Python脚本。

《地理信息系统地学分析》课程的实习中,需要使用GIS的数据管理和空间分析功能对地理数据进行处理和分析。这个数据处理和分析的流程可以看作一个简单的模型,对于比较简明的建模,我们可以使用ModelBuilder来完成。

当然,你也可以拖出一个个工具,打开工具来一步步的完成整个流程,结果是一样的。但是,这样的做法思路相对混乱,可能这次完成了之后,下次就忘记了操作步骤(对于初学者来说)。而且,打开工具、输入参数、等待结果这样的事情做多了是相当boring的。还有重要的一点是,当你要对操作过程截图到作业中的时候,你对每一个步骤都要截图,这又是极其boring的事情,简直没有比这更boring的事情了!!!

相反,如果你使用ModelBuilder来完成作业,不光光不会有以上的烦恼,而且会有额外的收获:

  • 你学会了使用ModelBuilder建模,一种强大的地理建模工具。
  • 你的每一次工作都会保留下来(Model是可以保存的),可以用来回顾温习、与人共享,一劳永逸。
  • 建模还是一件比较优雅的事情,这个过程充满乐趣。
  • 减少纸张浪费,只需对整个流程截图就OK了,既美观,思路又清晰。

最后,我以一个例子来说明吧。

数据:

中国的DEM、各城市区域矢量图、各省份xls数据

练习:

1、提取东北三省DEM数据,并统计其高程最大值、最小值、平均值等

2、提取东北三省高程大于500米的区域

  • 建模的思路:

  • ModelBuilder:

  • 模型运行:

  • 最终结果:

  • 脚本:

 

OK,孰优孰劣,这是一目了然的。

分享到: