Extract by Circle (Spatial Analyst)

Summary

Extracts the cells of a raster based on a circle by specifying the circle's center and radius.

Illustration

Extract by Circle tool illustration
OutRas = ExtractByCircle(InRas1, Point(2.5,2.5), 2, "INSIDE")

Usage

  • Additional attributes from the input raster, if any, will be carried over as-is to the output raster attribute table. Depending on the property being recorded, some of the attribute values may need to be recalculated.

  • When a multiband raster is specified as the Input Raster (in_raster in Python) value, all bands will be used.

    To process a selection of bands from a multiband raster, first create a raster dataset composed of those particular bands using the Composite Bands tool. Then use the result as the Input Raster (in_raster in Python) value.

    The default output format is a geodatabase raster. If an Esri Grid stack is specified as the output format, the name of the stack cannot start with a number, use spaces, or be more than nine characters in length.

  • The center of the cell is used to determine whether a cell is inside or outside a circle. If the center is within the arc of the circle, the cell is considered fully inside even if portions of the cell are outside the circle.

  • Cell locations that are not selected are assigned a value of NoData.

  • If the input raster is integer, the output raster will be integer. If the input is floating point, the output will be floating point.

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

Parameters

LabelExplanationData Type
Input raster

The input raster from which cells will be extracted.

Raster Layer
Center point

The center coordinate (x,y) of the circle defining the area to be extracted.

The coordinates are specified in the same map units as the input raster.

Point
Radius

The radius of the circle defining the area to be extracted.

The radius is specified in map units and is in the same units as the input raster.

Double
Extraction area
(Optional)

Specifies whether cells inside or outside the input circle will be selected and written to the output raster.

  • InsideCells inside the input circle will be selected and written to the output raster. All cells outside the circle will receive NoData values on the output raster.
  • OutsideCells outside the input circle will be selected and written to the output raster. All cells inside the circle will receive NoData values on the output raster.
String

Return Value

LabelExplanationData Type
Output raster

The output raster containing the cell values extracted from the input raster.

Raster

ExtractByCircle(in_raster, center_point, radius, {extraction_area})
NameExplanationData Type
in_raster

The input raster from which cells will be extracted.

Raster Layer
center_point

The Point class determines the center coordinate (x,y) of the circle defining the area to be extracted.

The form of the class is the following:

  • Point (x, y)

The coordinates are specified in the same map units as the input raster.

Point
radius

The radius of the circle defining the area to be extracted.

The radius is specified in map units and is in the same units as the input raster.

Double
extraction_area
(Optional)

Specifies whether cells inside or outside the input circle will be selected and written to the output raster.

  • INSIDECells inside the input circle will be selected and written to the output raster. All cells outside the circle will receive NoData values on the output raster.
  • OUTSIDECells outside the input circle will be selected and written to the output raster. All cells inside the circle will receive NoData values on the output raster.
String

Return Value

NameExplanationData Type
out_raster

The output raster containing the cell values extracted from the input raster.

Raster

Code sample

ExtractByCircle example 1 (Python window)

This example extracts cells within a 500-meter radius around a point location.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtCircle = ExtractByCircle("elevation", arcpy.Point(482838.823, 222128.982),
                                500, "INSIDE")
outExtCircle.save("c:/sapyexamples/output/extcircle")
ExtractByCircle example 2 (stand-alone script)

This example extracts cells within a 1,000-meter radius around a point location.

# Name: ExtractByCircle_Ex_02.py
# Description: Extracts the cells of a raster based on a circle.
# 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")
centerPoint = arcpy.Point(482838.823, 222128.982)
circRadius = 1000
extractType = "INSIDE"

# Execute ExtractByCircle
outExtCircle = ExtractByCircle(inRaster, centerPoint, circRadius, 
                               extractType)

# Save the output 
outExtCircle.save("c:/sapyexamples/output/extcircle02")

Related topics