工具参考页面剖析

ArcGIS Pro 工具参考中的每个工具页面都遵循同一结构;了解该结构后,您便可以轻松使用任意工具。

工具参考页面元素

无论是搜索工具页面,还是浏览至工具页面(展开工具箱、工具集,然后单击以加载工具页面),您都会看到以下内容。

摘要和插图

摘要是一段关于工具用途的简短描述。其中可能包含关于工具工作原理的更加深入的信息。在某些情况下,摘要后面配有一个插图,用于说明工具用途。

使用方法

用法部分包含有关工具用法的注释和说明。如果注释指的是某一参数,则使用该参数的标注(出现在工具对话框上),而不使用该参数的名称(出现在语法中并在 Python 中使用)。参数的标注与名称之间的关系通常很明确,但在某些情况下会对参数名称进行注释以免混淆。

语法(包括参数列表)

语法部分提供在 Python 中执行工具所需的格式和参数集。它后跟一张列出所有参数及其名称、解释和数据类型的表。有关本部分工具参考页面的详细说明,请参见以下工具语法解码部分。

代码示例

代码示例部分包含一个或多个示例,用于说明如何在 Python 中执行和使用工具。

环境

环境部分提供工具所遵循的环境设置列表。在列表中单击任意链接转至其参考页面。如果某一环境设置对工具十分重要,则可能提供有关此设置的更多详细信息。

许可信息

许可信息部分详细说明工具是否可在某一特定许可级别上运行,并注释其是否需要扩展模块。例如,ArcGIS for Desktop Basic:是表示此工具使用 ArcGIS Desktop Basic 许可运行,而 ArcGIS for Desktop Basic:需要 3D Analyst 则表示只有同时使用 3D Analyst 扩展模块和 ArcGIS Desktop Basic 许可才能运行此工具。

工具语法解码

工具参考页面的语法部分提供了每个工具参数的详细信息。还提供了在 Python 中使用工具所采用的语法。

工具名称和别名

语法标头下面的第一行包含工具特征。在 Python 中,使用工具名称而非工具标签。

  • 工具标注显示在工具对话框的顶部。
  • 在 Python 中,工具箱的别名紧随工具名称之后,中间用下划线隔开。例如,在 Python 中,交集取反工具标识为 SymDiff_analysis

参数表

工具特征后面是具有以下三列的参数表:参数、说明和数据类型。参数表中的各行始终按参数顺序(与工具特征一致)排列。

注:

地理处理工具主题中的参数帮助通常用于描述 Python 环境中的参数。尤其是对于布尔参数和带关键字的字符串参数。可以将鼠标悬停在每个参数旁边的信息按钮 信息 上,以查看与工具对话框中的工具使用方法相关的参数帮助。

工具对话框能够以不同于实际参数顺序的顺序显示参数,因此,只有在极少数情况下,工具对话框中的参数顺序才可能与参数表中的顺序不同。对于 Python,始终使用参数表中显示的顺序。

工具的参数中,有些是必选的,有些是可选的。在工具对话框中,可选参数后标记有(可选)。

参数类型说明

必需项

您必须为必选参数赋值。这些参数通常是命令中靠前的参数。

可选项

这些参数始终位于必需参数之后。如果没有为可选参数输入值,则将计算并应用默认值。“说明”列中描述默认值。

必选参数与可选参数

在 Python 中,可选参数名称可作为一种快捷方式。您可以使用参数名称明确地设置参数,而不必使用一组空引号 ("") 或一个井号 ("#") 跳过其他未使用的可选参数。

# Use the parameter name to bypass unused optional arguments
arcpy.AddField_management("c:/data/streets.shp", "Address", "TEXT", field_length=120)

参数名称与标注

参数标注在工具对话框上使用。参数名称在参数表中使用。参数的标注与名称之间的关系通常很明确,但在某些情况下会对参数名称进行注释以免混淆。

接受列表的参数

对于接受值列表的参数而言,列表语法可位于参数名称之后,如下所示:

外观说明

简单列表

简单列表;简单列表称为多值参数。

值表

列表的列表:数据类型为“值表”。

简单列表包含一系列单一值。在上述示例中,Distances 参数为双精度数据类型(如“数据类型”列中所示)。可使用以下其中一种方法表示此列表:

# Method 1: A list of numbers dist = [10.0, 20.0, 30.0]
# Method 2: A list of strings dist = ["10.0", "20.0", "30.0"]
# Method 3: String representation of a list dist = "10.0; 20.0; 30.0"

由多个列表组成的列表的数据类型为“值表”。在上述示例中,in_features 参数是由多个列表组成的列表,其中各个列表包含要素数据集或图层的路径和一个可选的整型等级。可使用以下其中一种方法表示此参数:

# Method 1: A list of lists inFeatures = [["counties", 2], ["parcels", 1], ["state"]]
# Method 2: A list of strings inFeatures = ["counties 2", "parcels 1", "state"]
# Method 3: String representation, each list separated by a semicolon inFeatures = "counties 2; parcels 1; state"

说明列

此列提供有关参数用途及其设置方式(包括关键字选项)的详细信息。

关键字为字符串;调用工具时始终用引号括起关键字。例如,添加字段工具具有以下字段类型的关键字:

# Add a field named IDField with data type of long
arcpy.AddField_management("Parks", "IDField", "LONG",                           field_is_nullable="NULLABLE", 
                          field_is_required="NON_REQUIRED")

数据类型

每个工具参数都有关联的数据类型。一些简单的数据类型包括字符串(任意一组字母数字字符)、布尔型(true 或 false 值)和长整型(介于 -2147483648 和 2147483647 之间的整数值)。除了这些简单的数据类型之外,还有很多专门针对 ArcGIS 中存在的数据(例如坐标系和范围)而构建的其他数据类型。

派生输出

派生参数是输出参数,因此不作为工具对话框中的值或 Python 中的参数输入。在以下情况下,工具将具有派生输出:

  • 工具计算工具(例如获取计数工具,此工具提供了表中记录的计数)返回的值。
  • 工具修改输入数据集(例如计算字段工具,此工具可修改字段值)。
  • 名称或位置根据输入参数或其他已知位置确定的输出数据集(例如要素类至要素类),可通过工作空间和要素类名称参数来确定输出路径。

使用脚本对象

工具参数通常使用简单文本字符串来定义。数据集名称、路径、关键字、字段名称、容差、属性域名称可通过带引号的字符串指定。

对于需要多个属性的较复杂参数,难以使用简单字符串对其进行定义。这种情况下,可使用类(例如,SpatialReferenceValueTablePoint 类)来定义这些参数,而不必输入复杂的长文本字符串。每个工具的文档中都包含一个脚本实例,介绍如何定义和使用各个工具参数。

在下例中,SpatialReference 对象被创建并用于定义由创建要素类工具创建的要素类的输出坐标系:

import arcpy
inputWorkspace = "c:/temp"
outputName = "rivers.shp"
prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)
# Run CreateFeatureclass using the spatial reference object
arcpy.CreateFeatureclass_management(inputWorkspace, outputName, "POLYLINE", 
                                    "", "", "", spatialRef)

在许多地理处理工作流中,您可能需要使用坐标和几何信息运行特定操作,但不想经历创建(临时)要素类、使用光标填充要素类、使用要素类,然后删除临时要素类的过程。可以使用几何对象替代输入和输出,从而使地理处理变得更简单。使用 MultipointPointGeometryPolygonPolyline 类可以从头开始创建几何对象。