ArcGIS for Desktop

  • Documentation
  • Pricing
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS for Desktop

A complete professional GIS

ArcGIS for Server

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Pricing
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

Focal Statistics

Available with Spatial Analyst license.

  • Summary
  • Illustration
  • Usage
  • Syntax
  • Code Sample
  • Environments
  • Licensing Information

Summary

Calculates for each input cell location a statistic of the values within a specified neighborhood around it.

Learn more about how Focal Statistics works

Illustration

Focal Statistics illustration
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,MAP), "SUM", "")

Usage

  • If the input raster is of floating-point type, only the Mean, Maximum, Minimum, Range, Standard deviation, and Sum statistics are available; the Majority, Minority, Median, and Variety statistics are not permitted. If the input raster is of integer type, all the statistics types are available.

  • When a circular, annulus-shaped, or wedge-shaped neighborhood is specified, some of the outer diagonal cells may not be considered in the calculations since the center of the cell must be encompassed within the neighborhood.

  • The Irregular and Weight Neighborhood types require a Kernel file be specified. Kernel files should have a .txt file extension.

    See the Irregular and Weight sections of How Focal Statistics works for information on creating and using kernel files.

  • Only for the statistics types of Mean, Standard Deviation, or Sum can the Neighborhood type can be set to Weight.

  • Input NoData cells may receive a value in the output if the Ignore NoData in calculations option is checked, provided at least one cell within the neighborhood has a valid value.

  • See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

Syntax

FocalStatistics (in_raster, {neighborhood}, {statistics_type}, {ignore_nodata})
ParameterExplanationData Type
in_raster

The raster to perform the focal statistics calculations on.

Raster Layer
neighborhood
(Optional)

The Neighborhood class dictates the shape of the area around each cell used to calculate the statistic.

The different types of neighborhood available are NbrAnnulus, NbrCircle, NbrRectangle, NbrWedge, NbrIrregular, and NbrWeight.

The following are the forms of the neighborhoods:

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})
  • NbrCircle({radius}, {units}
  • NbrRectangle({width}, {height}, {units})
  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})
  • NbrIrregular(inKernelFile)
  • NbrWeight(inKernelFile)

The default neighborhood is a square NbrRectangle with a width and height of 3 cells.

Neighborhood
statistics_type
(Optional)

The statistic type to be calculated.

  • MEAN — Calculates the mean (average value) of the cells in the neighborhood.
  • MAJORITY — Calculates the majority (value that occurs most often) of the cells in the neighborhood.
  • MAXIMUM — Calculates the maximum (largest value) of the cells in the neighborhood.
  • MEDIAN — Calculates the median of the cells in the neighborhood.
  • MINIMUM — Calculates the minimum (smallest value) of the cells in the neighborhood.
  • MINORITY — Calculates the minority (value that occurs least often) of the cells in the neighborhood.
  • RANGE — Calculates the range (difference between largest and smallest value) of the cells in the neighborhood.
  • STD — Calculates the standard deviation of the cells in the neighborhood.
  • SUM — Calculates the sum (total of all values) of the cells in the neighborhood.
  • VARIETY — Calculates the variety (the number of unique values) of the cells in the neighborhood.

The default statistic type is MEAN.

If the input raster is floating point, only the MEAN, MAXIMUM, MINIMUM, RANGE, STD, and SUM statistic types are available.

String
ignore_nodata
(Optional)

Denotes whether NoData values are ignored by the statistic calculation.

  • DATA — Specifies that if a NoData value exists within a neighborhood, the NoData value will be ignored. Only cells within the neighborhood that have data values will be used in determining the output value. This is the default.
  • NODATA —Specifies that if any cell in a neighborhood has a value of NoData, the output for the processing cell will be NoData. With this option, the presence of a NoData value implies that there is insufficient information to determine the statistic value for the neighborhood.
Boolean

Return Value

NameExplanationData Type
out_raster

The output focal statistics raster.

Raster

Code Sample

FocalStatistics example 1 (Python window)

This example calculates the least-frequently occuring value in a ring-shaped neighborhood around each cell in the input raster.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"), 
                               "MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
FocalStatistics example 2 (stand-alone script)

This example determines the least frequently occurring value in a 10-by-10 neighborhood around each cell in the input raster.

# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
#    neighborhood.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")

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

# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
                                     "")

# Save the output 
outFocalStatistics.save("C:/sapyexamples/output/focalstatout")

Environments

  • Auto Commit
  • Cell Size
  • Compression
  • Current Workspace
  • Extent
  • Geographic Transformations
  • Mask
  • Output CONFIG Keyword
  • Output Coordinate System
  • Raster Statistics
  • Scratch Workspace
  • Snap Raster
  • Tile Size

Licensing Information

  • ArcGIS for Desktop Basic: Requires Spatial Analyst
  • ArcGIS for Desktop Standard: Requires Spatial Analyst
  • ArcGIS for Desktop Advanced: Requires Spatial Analyst

Related Topics

  • An overview of the Neighborhood toolset
  • Calculating statistics for overlapping and non-overlapping neighborhoods
Feedback on this topic?

ArcGIS for Desktop

  • Home
  • Documentation
  • Pricing
  • Support

ArcGIS Platform

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

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacy | Legal