按圆提取 (空间分析)

需要 Spatial Analyst 许可。

摘要

通过指定圆心和半径,基于圆提取栅格像元。

插图

按圆形提取工具图示
OutRas = ExtractByCircle(InRas1, Point(2.5,2.5), 2, "INSIDE")

使用情况

  • 输入栅格中的其他属性(若有的话)将按照原样添加到输出栅格属性表。 根据所记录的属性,某些属性值可能需要重新计算。

  • 将多波段栅格指定为输入栅格(Python 中的 in_raster)值时,将使用所有波段。

    要处理一系列来自多波段栅格的波段,请首先使用波段合成工具创建由这些特定波段组成的栅格数据集。 然后将结果用作输入栅格(Python 中的 in_raster)值。

    默认输出格式为地理数据库栅格。 如果将 Esri 格网堆栈指定为输出格式,则堆栈的名称不能以数字开头、不能使用空格且长度不得超过九个字符。

  • 可通过像元的中心来确定该像元是位于圆的内部还是位于圆的外部。 如果中心位于圆弧的内部,则即使部分像元位于圆外,也会将此像元视为完全处于圆内。

  • 将为未选择的像元位置分配一个 NoData 值。

  • 如果输入栅格为整型,那么输出栅格也为整型。 如果输入为浮点型,则输出也将为浮点型。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入栅格

从中提取像元的输入栅格。

Raster Layer
中心点

用于定义提取区域的圆的中心坐标 (x,y)。

将指定坐标使用与输入栅格相同的地图单位。

Point
半径

用于定义提取区域的圆半径。

将以地图单位指定半径,并且与输入栅格的单位相同。

Double
提取区域
(可选)

指定是选择输入圆内部还是外部的像元并将其写入输出栅格。

  • 内部将选择输入圆内部的像元并将其写入输出栅格。 圆形区域外部的所有像元都将在输出栅格中获得 NoData 值。
  • 外部将选择输入圆外部的像元并将其写入输出栅格。 圆形区域内部的所有像元都将在输出栅格中获得 NoData 值。
String

返回值

标注说明数据类型
输出栅格

包含从输入栅格中提取的像元值的输出栅格。

Raster

ExtractByCircle(in_raster, center_point, radius, {extraction_area})
名称说明数据类型
in_raster

从中提取像元的输入栅格。

Raster Layer
center_point

Point 类可以确定用于定义提取区域的圆的中心坐标 (x,y)。

类的形式如下所示:

  • Point (x, y)

将指定坐标使用与输入栅格相同的地图单位。

Point
radius

用于定义提取区域的圆半径。

将以地图单位指定半径,并且与输入栅格的单位相同。

Double
extraction_area
(可选)

指定是选择输入圆内部还是外部的像元并将其写入输出栅格。

  • INSIDE将选择输入圆内部的像元并将其写入输出栅格。 圆形区域外部的所有像元都将在输出栅格中获得 NoData 值。
  • OUTSIDE将选择输入圆外部的像元并将其写入输出栅格。 圆形区域内部的所有像元都将在输出栅格中获得 NoData 值。
String

返回值

名称说明数据类型
out_raster

包含从输入栅格中提取的像元值的输出栅格。

Raster

代码示例

按圆形区域提取 (ExtractByCircle) 示例 1(Python 窗口)

本示例将在某一点位置方圆 500 米的半径范围内提取像元。

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) 示例 2(独立脚本)

本示例将在某一点位置方圆 1,000 米的半径范围内提取像元。

# 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")