ArcPy帮助文档
1.什么是 ArcPy
ArcPy 是一个以成功的 arcgisscripting 模块为基础并继承了 arcgisscripting 功能进而构建而成的站点包。目的是为以实用高效的方式通过 Python 执行地理数据分析、数据转换、数据管理和地图自动化创建基础。
该包提供了丰富纯正的 Python 体验,具有代码自动完成功能(输入关键字和点即可获得该关键字所支持的属性和方法的弹出列表;从中选择一个属性或方法即可将其插入),并针对每个函数、模块和类提供了参考文档。
在 Python 中使用 ArcPy 的另一个主要原因是,Python 是一种通用的编程语言。Python 是一种支持动态输入的解释型语言,适用于交互式操作以及为称为脚本的一次性程序快速制作原型,同时其具有编写大型应用程序的强大功能。用 ArcPy 编写的 ArcGIS 应用程序的优势在于,可以使用由来自多个不同领域的 GIS 专业人员和程序员组成的众多 Python 小体开发的附加模块。
通用帮助
Python 提供文档字符串功能。ArcPy 中的函数和类在包文档中使用该方法。读取这些消息以及获取帮助的方法之一是运行 Python 提供的 help 命令。使用参数运行该命令会显示对象的调用签名和文档字符串。
>>> import arcpy
>>> help(arcpy)
获取帮助的另一种方法是使用 ArcPy 提供的代码自动完成功能。每当输入函数名并开始输入参数时,帮助窗口中就会显示帮助信息和函数用法。
2.ArcPy 基本词汇
本文档介绍了要理解 ArcPy 帮助需要掌握的一些词汇。
术语 | 定义 |
ArcPy | facebook视频下载 ArcPy(通常称为 ArcPy 站点包)为用户提供了使用 Python 语言操作所有地理处理工具(包括扩展模块)的接口,并提供了多种有用的函数和类,以用于处理和查询 GIS 数据。使用 Python 和 ArcPy,可以开发出大量的用于处理地理数据的实用程序。 |
ArcPy 模块 | 模块为通常包含函数和类的 Python 文件。ArcPy 由一系列模块支持,包括数据访问模块 (arcpy.da)、制图模块(arcpy.mapping)、ArcGIS Spatial Analyst extension 模块 (arcpy.sa) 以及 ArcGIS Network Analyst extension模块 (arcpy.na)。 |
ArcPy 类 | 类的作用类似于建筑设计蓝图。蓝图为如何创建事物提供了一个框架, 类可用于创建对象,即通常所说的实例。ArcPy 类,如 SpatialReference 和 Extent 类,通常用作地理处理工具参数设置的快捷方式,否则的话,这些参数会使用更加复杂的字符串。 |
ArcPy 函数 | 函数是用于执行某项特定任务并能够纳入更大的程序的已定义功能。 在 ArcPy 中,所有地理处理工具均以函数形式提供,但并非所有函数都是地理处理工具。除工具之外,ArcPy 还提供多种函数来更好地支持 Python 地理处理工作流。函数(通常称为方法)可用于列出某些数据集、检索数据集的属性、在将表添加到地理数据库之前验证表名称,或执行其他许多有用的脚本任务。 |
3.ArcPy 快速浏览
ArcPy 是一个以成功的 arcgisscripting 模块为基础并继承了 arcgisscripting 功能进而构建而成的站点包。目的是为以实用高效的方式通过 Python 执行地理数据分析、数据转换、数据管理和地图自动化创建基础。
通过 ArcPy 可访问地理处理工具和其他函数、类和模块,从而快速轻松地创建各种简单或复杂工作流。
使用以 ArcPy 编写的 ArcGIS 应用程序和脚本的优势在于,可以访问并使用由来自多种不同领域的 GIS 专业人员和程序员开发的大量 Python 模块。使用 Python 中的 ArcPy 的另一个主要原因是,Python 是一种通用的编程语言,易于学习和使用。通过这一解释和动态型编程语言,用户可以在交互式环境中快速地创建脚本原型并进行测试,同时这种编程语言功能强大,可编写大型应用程序。
通过 ArcPy 可访问地理处理工具以及其他函数、类和模块,从而创建简单或复杂工作流。一般来说,ArcPy 按工具、函数、类和模块进行组织。
从技术角度讲,地理处理工具是可通过 arcpy 访问的函数 - 也就是说,可以像其他任何 Python 函数那样访问这些工具。但是,为了避免引起混淆,总是会在工具函数和非工具函数之间加以区分(如实用程序函数 ListFeatureClasses())。
工具的记录方式与函数不同。每个工具在 ArcGIS Desktop 帮助系统中都有自己的工具参考页面。函数则记录在 ArcPy 文档中。
工具会返回 Result 对象;而函数不会。
工具会生成可通过各种函数(如 GetMessages())进行访问的消息。函数不会生成消息。
工具按产品级别(ArcGIS Desktop Basic、Desktop Standard 或 Desktop Advanced)和扩展模块(ArcGIS Network Analyst extension、ArcGIS Spatial Analyst extension 等)进行授权。您可以在工具参考页面上查所需的许可等级。不对函数进行授权 - 它们随 ArcPy 一起安装。
警告:
ArcPy 站点包是基于 Python 2.7 构建的,因此要求成功导入此版本。
运行工具
以下示例显示了如何执行缓冲区工具。执行该工具时,消息将默认显示在帮助部分中 Python 窗口的右侧。
>>> arcpy.Buffer_analysis("c:/data/Portland.gdb/streets", "c:/data/Portland.gdb/steets_buffer", "500 METERS")
以下是另一个有关运行工具的示例。该示例使用的是数据管理工具箱和转换工具箱中的工具。向输入 streets 要素类添加一个字段并计算该字段,然后将要素类加载到企业级地理数据库中。
>>> import arcpy
>>> arcpy.AddField_management("c:/data/Portland.gdb/streets", "LENGTH_MILES", "TEXT")
>>> arcpy.CalculateField_management("c:/data/Portland.gdb/streets", "LENGTH_MILES", "!shape.length@miles!", "PYTHON_9.3")
>>> arcpy.FeatureClassToFeatureClass_conversion("c:/data/Portland.gdb/streets", "Database Connections/MySDE.sde/PortlandDataset", "streets")
了解有关在 Python 中使用工具的详细信息
从工具获取结果
执行地理处理工具时,工具的结果会返回到 Result 对象中。通常,该对象是由工具生成或更新的输出数据集的路径。在其他情况下,它可能会包含其他类型的值,如数值或布尔值。如果工具的输出是多值参数,则这些值可在列表中以列表的形式返回。
以下代码示例显示了如何捕获返回值以及这些值的具体内容:
返回输出要素类的路径。该结果可用作其他函数的输入。
>>> result = arcpy.Buffer_analysis("rivers", "riverBuf", "50 METERS")
>>> print result
C:\Portland\Portland_OR.gdb\riverBuf
>>> arcpy.Clip_analysis("streets", result, "streets_50m_of_rivers")
返回要素数目。
>>> result = arcpy.GetCount_management("streets_50m_of_rivers")
>>> Output(0)
54
返回要素类的默认空间格网索引列表。
>>> result = arcpy.CalculateDefaultGridIndex_management("streets_50m_of_rivers")
>>> for i in range(0, result.outputCount):
... Output(i)
...
560
200
0
使用环境设置
可将地理处理环境设置视为影响工具执行结果的附加参数。这些参数与正常的工具参数不同,因为它们是通过工具单独进行设置的,并且供工具在运行时查询和使用。诸如感兴趣区域、输出数据集的坐标系以及新栅格数据集的像元大小等环境设置均可通过工具进行指定和支持。
可通过 env 类来获得属性形式的环境设置。这些属性可用于检索和设置当前环境值。下面是如何使用环境值的示例:
设置工作空间环境。
>>> v.workspace = "c:/data/Portland.gdb"
>>> arcpy.Buffer_analysis("streets", "streetBuf", "500 METERS")
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论