每个工具都含有一组用于执行操作的参数。其中一些参数在所有工具中通用,如容差或输出位置。这些参数可从所有工具在运行期间使用的地理处理环境中获得默认值。执行某一工具时,当前环境设置也可用作全局输入参数值。诸如感兴趣区域、输出数据集的空间参考以及新栅格数据集的栅格像元大小等设置都可以使用地理处理环境指定。
在 ArcPy 中,地理处理环境被组织为 ArcPy 类 env 下的属性。在以下示例中,有若干环境值被输出到显示画面,然后设置为新值。
>>> print arcpy.env.overwriteOutput
True
>>> print arcpy.env.workspace
None
>>> arcpy.env.overwriteOutput = False
>>> arcpy.env.workspace = "c:/temp"
>>> print arcpy.env.overwriteOutput
False
>>> print arcpy.env.workspace
c:/temp
>>>
在 Python 窗口中保持追踪环境
由于地理处理环境对工具操作和输出有着很大的影响,因此需要保证能够追踪环境设置并在必要时将其重置为默认状态。
ArcPy 函数 ResetEnvironments 可用于恢复默认环境值。
>>> arcpy.ResetEnvironments()
>>>
ArcPy 函数 ListEnvironments 可用于创建所有地理处理环境的列表。该列表可用于访问并输出所有环境及其当前值。虽然此示例中仅显示了两个环境,但所有环境及其值均可使用此代码进行输出。
>>> environments = arcpy.ListEnvironments()
... for environment in environments:
... envSetting = eval("arcpy.env." + environment)
... print "%-30s: %s" % (environment, envSetting)
...
newPrecision : SINGLE
autoCommit : 1000