Importing the Spatial Analyst module

Available with Spatial Analyst license.

Spatial Analyst (arcpy.sa) is a module of the ArcPy site package. The simplest way to access the functionality of the ArcGIS Spatial Analyst extension, including tools, operators, functions, and classes, is to import from the sa module. Using this import method makes it possible to access this functionality without providing a name space and imports overloaded operators, which allows rasters to be used with operators.

The recommended sequence of imports to utilize Spatial Analyst functionality is shown below.

import arcpy
from arcpy import env
from arcpy.sa import *

This approach allows you to:

  • Set and get environment settings prefixed with env.

    env.workspace = "c:/base/data.gdb"
  • Run geoprocessing tools and functionality directly from arcpy.

    arcpy.Buffer_analysis("infeatures", "outbuffer", 5000)
  • Use Map Algebra without having to prefix every tool and class with arcpy.sa.

    outRas = Sin("inraster1") + Raster("inraster2") + 8

To learn more about your options when importing ArcPy, Map Algebra or other functionality, see Importing ArcPy.

License:

In Python (or when in the Python window and the extension has not already been enabled), you will need to check out an ArcGIS Spatial Analyst extension license before running a tool.

# Check out the ArcGIS Spatial Analyst
#  extension license
arcpy.CheckOutExtension("Spatial")

Customizing your interactive Python experience

The Python window (or any other interactive Python interpreter) recognizes the system environment variable PYTHONSTARTUP. If PYTHONSTARTUP has been previously set to a Python file, Python will automatically execute that file's code when the Python window is opened. This is a useful way to ensure that your Python window experience starts with all your commonly used Python utilities preloaded.

# File: pythonstartup.py
# Description: Used to customize the state of the python start up environment 
#   upon startup of ArcGIS application
#   Can specify module imports, variables, messages
# Requirements: Spatial Analyst Extension
# Author: Esri

# Print to screen
print("import os\nimport sys\nimport arcpy\nfrom arcpy import env\nfrom arcpy.sa import *")

# Imports
import os
import sys
import arcpy
from arcpy import env
from arcpy.sa import *

To add the PYTHONSTARTUP environment setting, do the following:

  1. On your computer, locate and open the System Properties.
  2. Click the Advanced tab and click Environment Variables.
  3. Under System variables, click New.
  4. Add PYTHONSTARTUP to Variable name.
  5. Add the path of the Python file to Variable value and click OK.
  6. Click OK.

Related topics