Для каждого инструмента определен набор параметров, который он использует для выполнения операции. Некоторые из этих параметров являются общими для всех инструментов, например, допуск или выходное местоположение. Эти параметры могут получать свои параметры по умолчанию из среды геообработки, которая используется всеми инструментами во время работы. При работе инструмента текущие параметры среды могут также использоваться как общие значения входных параметров. Такие параметры, как область интереса, пространственная привязка выходного набора данных и размер ячейки нового набора растровых данных, можно задать с помощью сред геообработки.
В 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