关于工具箱历史表

在所有版本中,Esri 均会对现有工具作出更改并引入新工具。这些更改会提供解决方案以解决在之前版本中难以解决的问题,同时使工具功能更强大,使用更方便。ArcGIS 中所有标准工具箱的文档都包含工具箱历史主题,其中记录了每个版本中对工具所做的更改。您将在下文看到有关如何使用和解释工具箱历史主题的信息。

有关工具箱历史主题的示例,请参阅分析工具箱历史

Esri 始终力求维护向后兼容性。但是,由于新功能的引入,不兼容的情况也有可能发生。以下是无法实现向后兼容的案例:

  • 如果某个参数已移除,则使用该参数的旧工作流将不再有效。
  • 如果某个参数选项已移除,则使用该选项的旧工作流将不再有效。在许多情况下,被移除的选项会被另一个选项所替换,而且如果已指定之前的选项,工具会知道如何进行操作。
  • 如果已移除参数的某个数据类型,且您的旧工作流使用的输入为该数据类型,则此旧工作流将无法在新版本中运行。
  • 许可更改可能会影响工作流。大多数许可更改是向下的,(例如,从 Desktop AdvancedDesktop Standard),不会对向后兼容产生影响。
  • 扩展名更改可能会影响工作流。扩展名更改很少会影响现有的工作流。
  • 如果更改了参数的默认值,则可能会影响您的工作流。您需要检查现有工作流以确定默认值更改带来的影响。
  • 如果参数顺序发生了更改,则使用位置参数的脚本可能会中断。

以下是历史表格中已编目更改的相关详细信息。

此版本的新特性

每个表的最后一行会始终显示将工具引入工具箱的发行版本。

已移植/未移植至 ArcGIS Pro

如果您正在从 ArcMap 过渡到 ArcGIS Pro,则可能需要了解 ArcMap 中的工具在 ArcGIS Pro 中是否仍然可用。版本 10.3 中的大多数工具已移植到(即已复制并可用)ArcGIS Pro 1.0 版本中。表的第一行中通常包含工具是否已从 ArcMap 移植到 ArcGIS Pro 平台的相关信息。请注意,您可以使用Pro 的分析工具工具检查您的 ArcMap 模型及脚本是否可在 ArcGIS Pro 中运行。

注:

有关从 ArcMap 移植到 ArcGIS Pro 的工具的信息仅适用于 ArcMap 10.3 和 10.3.1 版本。例如,如果某个工具从 ArcMap 10.4 移植到 ArcGIS Pro 或从 ArcGIS Pro 移植到 ArcMap 10.4,则历史表中将不会记录该信息。

参数选项

参数选项(也称为枚举器)是会影响工具执行的字符串。例如,相交工具的 join_attributes 参数有三个选项:ALLNO_FIDFID_ONLY。在版本切换的过程中,有时会出现新选项,有时也可能已移除了某些选项。较新版本(例如 10.4)引入的选项不能用于较早版本(例如 10.3)中。

有时,您会看到某个选项被移除后,取而代之的是一个非常相似的选项,例如,已替换为 Euclidean distanceEUCLIDEAN_DISTANCE。在这种情况下,工具已设置为接受任一选项,且向后兼容性未损坏。

新参数和已移除参数

新参数几乎总是作为最后一个参数进行添加,以保证脚本中的向后兼容性。但是,有时必须将新参数插入到现有参数之间,这时脚本兼容性有可能被破坏 - 您可能需要对您的脚本进行编辑才能使其在更高版本中运行。如果将新参数插入到现有参数之间,则其将被视为对参数顺序的更改。

很少会有参数被移除。必须更改使用已移除参数的脚本,但模型可继续运行。

参数默认值更改

可选参数具有默认值 - 未对其进行更改时将使用的值。如果对参数的默认值进行了更改,则可能会影响现有模型或脚本。

参数数据类型更改

数据类型定义了参数的允许值,例如数据集类型(要素、表、网络等)。如果从一个版本中移除某个数据类型,则表示参数将不再接受此数据集作为输入或输出。如果模型或脚本使用已移除的数据类型,则您可能需要对其进行更改。

参数顺序

新参数几乎总是作为最后一个参数进行添加,因此不会影响现有参数的顺序。在极少数情况下,现有参数的顺序可能会发生更改,使用位置参数的脚本可能会中断。您可以使用如下所示的关键字参数,而不使用位置参数。由于模型不依赖于参数顺序,所以模型仍可执行。


# Positional arguments - skipping optional arguments using empty strings is dependent on 
#  the order of the optional parameters
#
arcpy.AddField_management("schools", "school_id", "LONG", "", "", "", "", "NON_NULLABLE")
# Keyword arguments - position doesn't matter
#
arcpy.AddField_management("schools", "school_id", "LONG", field_is_nullable="NON_NULLABLE")

参数名称大小写

参数名称可以更改大小写,例如,从 In_Features 更改为 in_features。此变更仅会影响使用关键字参数的脚本。在 Python 中,关键字参数区分大小写。

参数类型

参数类型可从必选项更改为可选项,也可从可选项更改为必选项。从可选项更改为必选项可能会对现有工作流产生影响。

工具许可及扩展名

许可或扩展名更改可能会对现有工作流产生影响。

环境变更

自 Pro 1.3 版本起,历史表将追踪各工具支持的地理处理环境设置的变更。

弃用的工具

有关详细信息,请参阅什么是弃用工具?