面向ArcGIS的Python脚本编程——Python与地理处理相关概念

Python简介

  • Python作为一门程序语言,也常被称为脚本语言。一般而言,脚本语言用于控制其他应用程序以实现任务自动化;而程序语言则是用于开发结构复杂、功能完备的应用程序。脚本语言是一种“粘合剂”可以将不同的组件组合到一起,从而实现新的功能。
  • Python的安装程序被封装在了ArcGIS for Desktop的安装程序中,默认安装的是IDLE编译器。

ArcGIS中的地理处理

地理处理

  • ArcGIS中的地理处理功能既能够完成空间分析和建模任务,也能够实现GIS任务的自动化。一个典型的地理处理工具可以接受数据(要素类,栅格或属性表),执行相关地理处理任务,并最终生成一个新的数据。
  • 地理处理可以将一系列工具按顺序串联在一起,从而实现工作流的自动化操作。在ArcGIS中可以通过模型和脚本来组合各种地理处理工具并实现工作流的自动化操作。

工具的类型

  • ArcGIS中的工具共有四种类型。
  1. 内置工具:这些工具是由ArcObjects以及诸如.NET和C++这样的变异性程序语言构建的。
  2. 模型工具:这些工具是使用ModelBuilder创建的。
  3. 脚本工具:这些工具通过相应的工具对话框运行。运行一个脚本文件后,相应的脚本文件就会执行相关地理处理,其中脚本文件的格式可以是Python文件(.py)等。
  4. 特殊工具:这些工具是由系统开发人员开发的,有自己独特的用户界面。

运行脚本

模型和脚本相似;ModelBuilder用于创建模型,Python用于创建脚本。ModelBuilder是一种可视化编程语言,Python是一种文本编程语言。模型和脚本一样,都是ArcGIS里的工具。
既然模型和脚本如此相似,为什么要使用脚本却不使用模型?ModelBuilder创建工具的方式很直观,对于ArcGIS初学者而言更容易学习,但是一些更加复杂的地理处理操作不能单独有一个模型完成,一些特殊的功能可以由脚本来实现,例如:

  • 一些底层的地理处理任务只能通过脚本实现。例如,使用脚本游标可以遍历属性表中的记录,读取现有的记录,并且插入新的记录。
  • 脚本可以实现更高级的编程逻辑,具有高级的错误处理机制并且使用复杂的数据结构。
  • 脚本可以用于软件集成——也就是把不同的软件捆绑在一起,有助于实现对各种软件实现功能整合。
  • 脚本可以脱离ArcGIS,作为存储在磁盘上的一个独立的脚本文件来运行。但是大多数情况下,为了支持脚本正常运行,仍需要在电脑上安装ArcGIS,不过不用打开ARcMap或者ArcCatalog。
  • 独立脚本可以在预定的时间运行而无需人工干预。

运行脚本的方式

  • 编译器运行。通过Python编译器运行脚本也不需要打开ArcGIS for Desktop软件,但是需要在电脑里安装ArcGIS,以保证能够使用相应的地理处理功能。使用Python编译器运行脚本的一个优点是所有信息包括错误信息都会显示在交互式窗口上。
  • 创建脚本工具。例如,可以在ArcMap中创建自己的工具箱或者创建一个新的脚本工具,这个工具有自己的对话框,可以被添加到ModelBuilder里的模型中,也可以被另一个脚本调用。

模型转为脚本

模型和脚本是相似的,都被用来创建一个地理处理工作流。模型可以转换为Python脚本。在ModelBuilder菜单栏中,单击Model>Export>To Python Script。
尽管模型能够转换为脚本,但是脚本却不能转换为模型。Python脚本比ModelBuilder具有更多功能,因此Python脚本不能转换为模型。
创建一个模型,然后把它转换为一个脚本,这是学习脚本和熟悉Python语法的一个好方法。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值