Geoprocessing environments are additional settings that affect a tool's results. They differ from tool parameters because they don't appear on the Geoprocessing pane's Parameters tab (with certain exceptions). Rather, they are values you set once using the Environments dialog box, or for an individual tool run using the Geoprocessing pane's Environments tab, and are used by tools when they are run.
Changing an environment setting is often a prerequisite to performing a geoprocessing task. For example, you may already be familiar with the Current and Scratch workspace environment settings, which allow you to set workspaces for inputs and outputs. Another example is the Extent environment setting, which limits your analysis to a specific geographic area, or the Output Coordinate System environment setting, which defines the coordinate system for new data.
A geoprocessing tool can use any number of environment settings. It is up to the developer of the tool to decide which environment settings will be used by the tool. For system tools developed by Esri, the tool help will specify which environment settings apply to the tool.
The Environments section of the tool reference page describes which environment settings the tool will use. Each environment setting is a link to the reference help page for the environment.
Environments in tool parameters
Some tools have parameters that take their default value from the environment. For example, the Create Feature Class tool has an optional Coordinate System parameter whose default value is retrieved from the Output Coordinate System environment setting.
Environment levels and hierarchy
There are four levels of environment settings: application, tool, model, and model process. All levels contain the same environment variables and have the same effect on output results. They differ only in how you access and set them.
The four environment levels form a hierarchy, with the application settings at the highest level. In this hierarchy, environment settings are passed down to the next level, as illustrated below. At each level, you can override the passed-down environment settings with another setting.
The one exception to this hierarchy is with models. If you run the model from the ModelBuilder window, the application environment is passed down. If you run the model using its tool dialog box, the tool environment is passed down.
The four levels of environment settings have the following characteristics:
- Application-level settings are the default and will be applied to any tool when it is run.
- Tool-level settings are applied to a single run of a tool and override the application-level settings.
- Model-level settings are specified and saved with a model and override tool- and application-level settings.
- Model process-level settings are specified at the model process level, are saved with the model, and override model-level settings.