《基于ArcGIS的Python编程秘笈(第2版)》——第1章 面向ArcGIS的Python语言基础

第1章 面向ArcGIS的Python语言基础

同其他编程语言一样,Python也支持多种类型的程序架构。本章主要介绍Python的基本语言架构。首先,介绍如何创建新的Python脚本及编辑已有的脚本;其次,介绍Python语言的特点,如添加注释、创建变量并赋值、创建内置变量等,以使Python的代码更加简单明了。

然后,介绍Python语言提供的各种内置数据类型,如字符串、数字、列表和字典等。类和对象是Python等面向对象编程语言的基本概念,在使用ArcGIS编写地理处理脚本时会经常用到它们,所以本章也介绍了这些复杂的数据类型。

另外,本章还介绍了一些语句的概念,包括条件语句、循环语句和with语句等。使用Python编写ArcGIS地理处理脚本时,常常用with语句打开cursor(游标)来循环遍历代码块。cursor对象来自于ArcPy的数据访问模块,它有插入、搜索和更新3种数据处理的方式。

最后,介绍如何访问Python语言的其他功能模块。

学完本章,读者将会掌握以下内容。

  • 在IDLE中创建和编辑Python脚本的方法。
  • 在ArcGIS Python窗口中创建和编辑脚本的方法。
  • Python的语言特点。
  • 注释与数据变量。
  • 内置数据类型(字符串、数字、列表和字典等)。
  • 复杂数据结构。
  • 循环结构。
  • 其他Python功能。

1.1 使用IDLE进行Python脚本开发

正如前言提及的,在桌面ArcGIS的安装过程中,会同时安装Python和IDLE。IDLE是编写Python程序代码的集成开发环境,本书中的很多代码都是在IDLE或桌面ArcGIS的Python窗口中编写的。随着编程能力的不断提高,读者可以选择IDLE以外的其他开发环境,如PyScripter、Wingware、Komodo等进行代码的编写,具体选择哪种开发环境依个人喜好而定。

1.1.1 Python Shell窗口
单击“Start | AllPrograms | ArcGIS | Python 2.7 | IDLE”,可以启动Python的IDLE开发环境。需要注意的是,在ArcGIS的安装过程中一同安装的Python版本,取决于ArcGIS的版本。如ArcGIS 10.3使用Python 2.7,而ArcGIS 10.0则使用Python 2.6。

Python Shell窗口如图1-1所示。

Python Shell窗口用来显示输出结果和脚本的错误信息。初学者常常误以为地理处理脚本也写在Shell窗口中,实际上需要创建一个单独的代码窗口来编写脚本,详见本书1.1.2节。

虽然一般不在Shell窗口中编写完整的脚本,但是可以以交互的方式编写代码并获得及时的反馈。ArcGIS提供了一个内置的Python Shell窗口,使用方法与之类似,详见本书1.2节。

1.1.2 Python脚本窗口
在Python Shell窗口中单击“File | New Window”创建一个新的代码窗口,可以在这个独立的窗口中编写脚本。该窗口称为Python脚本窗口,如图1-2所示。

Python的脚本代码通常在这个代码窗口中编写,每个脚本都需要保存到本地或网络驱动器中。默认情况下,脚本保存的文件扩展名是“.py”。

1.1.3 编辑已有的Python脚本
打开已有的Python脚本有两种方式:一是在Python Shell窗口中单击“File | Open”,选择要打开的脚本文件;二是在Windows资源管理器中右击文件,单击“Edit with IDLE”,如图1-3所示。通过这两种方法中的任何一种即可打开一个新的脚本窗口,同时脚本会加载在脚本编辑器中。

在本例中,IDLE加载了ListFeatureClasses.py脚本文件,其对应的Python脚本窗口中的代码如图1-4所示。

脚本窗口打开后,可以在其中写入或编辑代码,还可以在这个窗口中进行基本的脚本调试,调试是一个识别和修正代码错误的过程。

1.1.4 在IDLE中运行脚本
当写好一个地理处理脚本或者打开了一个已有的脚本之后,就可以在Python脚本窗口中执行代码。IDLE提供了语法检查功能,在运行脚本之前,可单击“Run | Check Module”来检查代码的语法错误。

如果有语法错误,一般情况下会跳转到Shell窗口并在Shell窗口中显示错误的详细信息,而有些语法错误不会跳转到Shell窗口,此时会弹出“Syntax error”对话框并在脚本窗口中高亮显示错误的位置,具体会出现哪种情况取决于语法错误的类型。如果没有语法错误,将不做提示。虽然IDLE界面可以检查语法错误,但是无法检查代码的逻辑错误,也没有像其他开发环境(如PyScripter、Wingware等)一样可以提供更高级的调试工具。

如果代码中不存在语法错误,单击“Run | Run Module”运行脚本,如图1-5所示。

运行脚本后,print 语句的输出结果、错误消息和系统消息都会在Python Shell窗口中显示。print语句在Shell窗口中只输出文本,它经常用于更新脚本的运行状态或显示代码的调试信息。

时间: 2025-01-19 04:55:29

《基于ArcGIS的Python编程秘笈(第2版)》——第1章 面向ArcGIS的Python语言基础的相关文章

《基于ArcGIS的Python编程秘笈(第2版)》——2.8 添加图层到地图文档

本节书摘来自异步社区<基于ArcGIS的Python编程秘笈(第2版)>一书中的第2章,第2.8节,作者: [美]Eric Pimpler(派普勒) 更多章节内容可以访问"异步社区"公众号查看. 2.8 添加图层到地图文档 在很多情况下都需要把图层添加到地图文档中.制图模块提供了AddLayer()函数来实现这一功能.本节将介绍如何使用AddLayer()函数把图层添加到地图文档中. 2.8.1 准备工作 arcpy.mapping模块提供了在已有的地图文档中添加图层或图层

《基于ArcGIS的Python编程秘笈(第2版)》——第2章 管理地图文档和图层2.1 引言

第2章 管理地图文档和图层 基于ArcGIS的Python编程秘笈(第2版)本章将介绍以下内容. 引用当前的地图文档. 引用磁盘上的地图文档. 获取地图文档的图层列表. 限制图层列表. 缩放至所选要素. 更改地图范围. 添加图层到地图文档. 插入图层到地图文档. 更新图层的符号系统. 更新图层属性. 操作数据框中启用时间的图层. 2.1 引言 ArcPy制图模块提供了自动化的制图功能,包括管理地图文档和图层文件,以及这些文件中的数据.此外,还提供自动导出和打印地图.创建PDF地图册和将地图文档发

《基于ArcGIS的Python编程秘笈(第2版)》——导读

前言 ArcGIS是Esri公司研发的构建于工业标准之上的地理信息系统软件系列的总称. 本书将介绍如何使用Python语言来创建桌面ArcGIS环境下的地理处理脚本.工具和快捷方式等.并通过介绍如何使用Python语言和桌面ArcGIS来自动执行地理处理任务.管理地图文档和图层.查找和修复丢失的数据链接.编辑要素类和表中的数据等,以期能够有效地提高GIS工作人员的工作效率. 本书首先介绍了桌面ArcGIS环境中Python编程的基本概念,然后通过具体的操作方法来介绍如何使用Python编程实现A

《基于ArcGIS的Python编程秘笈(第2版)》——1.3 Python语言基础

1.3 Python语言基础 了解Python语言的基本架构,有助于读者更有效地编写ArcGIS地理处理脚本.尽管Python语言相对于其他编程语言来说更易学,但要想真正掌握它,也需要花一定的时间来学习和练习.本节将介绍如何创建变量及给变量赋值,可赋值给变量的数据类型,如何使用不同类型的语句和对象,如何读写文件和导入Python第三方模块等内容. 1.3.1 代码注释 编写Python脚本时,一般都需要遵循约定俗成的程序架构.通常在每个脚本的开头是说明部分,用来说明脚本的名称.作者和处理过程的梗

《基于ArcGIS的Python编程秘笈(第2版)》——1.4 总结

1.4 总结 本章介绍了Python编程的基本概念,理解这些基本概念才能编写出有效的地理处理脚本.在本章的开头简略介绍了如何在IDLE开发环境下编写和调试Python脚本,讲解了如何创建一个新的脚本.编辑已有的脚本.检查语法错误和运行脚本等.本章还介绍了基本的语言结构,包括导入模块.创建变量并为其赋值.if/else语句.循环语句以及各种数据类型(如字符串.数字.布尔型.列表.字典和对象等).最后介绍了如何读取和写入文本文件.

《基于ArcGIS的Python编程秘笈(第2版)》——2.2 引用当前的地图文档

2.2 引用当前的地图文档 在ArcGIS Python窗口或自定义的脚本工具中运行地理处理脚本时,经常需要引用当前加载在ArcMap中的地图文档.通常来讲,在对地图文档中的图层和表执行地理处理操作之前,需要引用当前的地图文档.本节将介绍如何在Python地理处理脚本中引用当前的地图文档. 2.2.1 准备工作在对地图文档执行任何操作之前,都需要先在Python脚本中引用地图文档,可以通过调用arcpy.mapping模块中的MapDocument()函数来实现.引用地图文档的途径有两种:一是引

《基于ArcGIS的Python编程秘笈(第2版)》——2.10 更新图层的符号系统

2.10 更新图层的符号系统 有时候需要改变地图文档中图层的符号系统,可以通过使用UpdateLayer()函数来实现,该函数还可以改变图层的各种属性.本节将介绍如何使用UpdateLayer()函数更新图层的符号系统. 2.10.1 准备工作 arcpy.mapping模块的UpdateLayer()函数具有更新图层符号系统的功能.例如,可以将图层的符号系统由分级颜色更新为分级符号,如图2-10所示.UpdateLayer()也可以用来更新各种图层属性,但在默认情况下是更新符号系统.因为Upd

《基于ArcGIS的Python编程秘笈(第2版)》——1.2 ArcGIS Python窗口的使用

1.2 ArcGIS Python窗口的使用 1.1节介绍了如何使用Python的IDLE开发环境,本节给出一个地理处理脚本实例来说明如何使用ArcGIS Python窗口.刚开始编写代码时,人们通常在桌面ArcGIS Python窗口中编写脚本,当脚本越来越复杂时,会转向使用IDLE或者其他开发环境. 1.2.1 ArcGIS Python窗口 ArcGIS Python窗口是桌面ArcGIS 10.x中的一个嵌入式.交互式的窗口,它在测试小型代码块.学习Python基础知识.建立方便快捷的工

《基于ArcGIS的Python编程秘笈(第2版)》——2.3 引用磁盘上的地图文档

2.3 引用磁盘上的地图文档 除了可以引用ArcMap中当前活动的地图文档,还可以使用MapDocument()函数访问存储在本地或网络驱动器上的地图文档文件.本节将介绍如何访问本地或网络驱动器上的地图文档. 2.3.1 准备工作 正如前文所述,引用存储在本地计算机或共享服务上的地图文档,只需要提供地图文档文件的路径.这种引用地图文档的方法更为通用,因为使用该方法可以在ArcGIS Python窗口以外(IDLE等其他开发环境中)运行脚本.接下来讨论脚本中函数的参数,程序员可以根据需要每次输入一