ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Использование параметров среды в Python

  • Получение и установка параметров среды
  • Использование параметров среды для обработки временных данных
  • Сброс параметров сред

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

Скрипт может выполняться несколькими разными способами. Его можно запустить как инструмент скрипта в приложении ArcGIS. Его также можно запустить из другого скрипта или самого по себе из окна Python. Когда скрипт выполняется в инструменте из приложения ArcGIS или другого скрипта геообработки, параметры среды, используемые вызывающим приложением, передаются ему. Эти параметры становятся параметрами по умолчанию, используемыми скриптом инструмента, когда последний выполняется. Вызванный скрипт может изменить параметры, переданные ему, но эти изменения используются только в данном скрипте или любом другом инструменте, которого он может вызвать. Изменения не передаются обратно вызывающему скрипту или приложению. Для описания модели среды наилучшим образом подходит определение каскадная, где значения переходят любому процессу, в котором используется среда геообработки.

Получение и установка параметров среды

Параметры среды представлены как свойства в классе env. Эти свойства можно применять для получения текущих значений или их установки. К параметрам среды можно получить доступ как к свойствам чтения/записи из класса параметров среды как arcpy.env.<environmentName>.

import arcpy

arcpy.env.workspace = "c:/data"

Пример 1. Установка значений среды

import arcpy

# Set the workspace environment setting
#
arcpy.env.workspace = "c:/St_Johns/data.gdb"

# Set the XYTolerance environment setting
#
arcpy.env.XYTolerance = 2.5

# Calculate the default spatial grid index, divide in half, then
#   set the spatial grid 1 environment setting
#
grid_index = arcpy.CalculateDefaultGridIndex_management("roads")[0]

arcpy.env.spatialGrid1 = float(grid_index) / 2

# Clip the roads by the urban area feature class
#
arcpy.Clip_analysis("roads", "urban_area", "urban_roads")

Пример 2. Получение и установка значения среды

import arcpy

# Check the current raster cell size and make sure it is a certain size
#   for standard output
#
arcpy.env.workspace = "c:/avalon/data"

if arcpy.env.cellSize < 10:
    arcpy.env.cellSize = 10
elif arcpy.env.cellSize > 20:
    arcpy.env.cellSize = 20
    
arcpy.HillShade_3d("island_dem", "island_shade", 300)
Внимание:

Написание и регистр имеют значение при установке свойств в Python. Присвоение значения параметру arcpy.env.Workspace не является аналогичным настройке arcpy.env.workspace (примечание: arcpy.env.workspace является правильной формой). При возникновении ситуации, когда настроена среда, но не виден эффект в последующих инструментах, проверьте написание и регистр.

Функцию ListEnvironments можно использовать для проверки правильности имен параметров среды.

import arcpy
print(arcpy.ListEnvironments())

Использование параметров среды для обработки временных данных

Параметры среды scratchGDB и scratchFolder являются параметрами среды только для чтения, которые представляют расположение базы геоданных и папок, которые гарантированно существуют. Это означает, что можно надежно использовать базу геоданных или папку в любое время, не создавая их при этом и не управляя ими.

import arcpy

inputFC = arcpy.GetParameterAsText(0)
clipFC = arcpy.GetParameterAsText(1)
outputFC = arcpy.GetParameterAsText(2)

# Use scratchGDB environment to write intermediate data
#
tempData = arcpy.CreateScratchName(workspace=arcpy.env.scratchGDB)

result = arcpy.Buffer_analysis(inputFC, tempData, "50 METERS")
arcpy.Clip_analysis(clipFC, result, outputFC)

Параметр среды scratchFolder устанавливается следующим образом:

  • Если параметр scratchWorkspace не установлен, то параметр scratchFolder по умолчанию устанавливается на текущий каталог временных файлов пользователя.
  • Если параметр scratchWorkspace ссылается на базу геоданных, то параметр scratchFolder будет являться папкой, содержащей базу геоданных.
  • Если scratchWorkspace установлен на папку, то scratchFolder будет тем же самым, что и scratchWorkspace.

Параметр среды scratchGDB устанавливается следующим образом:

  • Если параметр scratchWorkspace не установлен, то параметр scratchGDB устанавливается по умолчанию на базу геоданных с именем scratch.gdb в текущем каталоге временных файлов пользователя.
  • Если scratchWorkspace ссылается на базу геоданных, то scratchGDB будет тем же самым, что и scratchWorkspace.
  • Если параметр scratchWorkspace установлен на папку, то scratchGDB будет установлен на базу геоданных с именем scratch.gdb в папке scratchWorkspace.

Сброс параметров сред

Поскольку параметры среды геообработки могут значительно повлиять на производительность инструмента и выходные значения, важно удерживать треки настройки среды и сбрасывать параметры среды в случае необходимости к значениям по умолчанию.

Функцию ResetEnvironments можно использовать для восстановления значений параметров среды по умолчанию, а функцию ClearEnvironment можно использовать для сброса параметров среды.

import arcpy

# Reset geoprocessing environment settings
arcpy.ResetEnvironments()

# Reset a specific environment setting
arcpy.ClearEnvironment("workspace")

Связанные разделы

  • Настройка параметров среды в окне Python
  • env

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2019 Esri. | Конфиденциальность | Правовая информация