按矩形提取 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

通过指定矩形范围,基于矩形提取栅格像元。

插图

按矩形提取图示
OutRas = ExtractByRectangle(InRas1, Extent(1, 0, 5, 5), "INSIDE")

使用情况

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

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

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

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

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

  • 未选择的像元位置被赋予 NoData 值。

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

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

参数

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

提取像元的输入栅格。

Raster Layer
范围

用于定义待提取区域的矩形。

如果将范围参数设置为如下面的指定,则使用通过左箭头和下箭头识别的参数定义待提取区域左下方的坐标,并使用通过右箭头和上箭头识别的参数定义右上方的坐标。

如果将范围参数设置为浏览,则可选择将通过边界框定义范围的数据集。

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

Extent
提取区域
(可选)

标识要提取输入矩形内部还是输入矩形外部的像元。

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

返回值

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

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

Raster

ExtractByRectangle(in_raster, rectangle, {extraction_area})
名称说明数据类型
in_raster

提取像元的输入栅格。

Raster Layer
rectangle
extent

用于定义待提取区域的矩形。

可以使用范围对象来指定坐标。

对象形式为:

  • Extent(XMin, YMin, XMax, YMax)

    XMinYMin 定义待提取区域左下方的坐标,XMaxYMax 定义右上方的坐标。

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

Extent
extraction_area
(可选)

标识要提取输入矩形内部还是输入矩形外部的像元。

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

返回值

名称说明数据类型
out_raster

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

Raster

代码示例

ExtractByRectangle 示例 1(Python 窗口)

本示例会将矩形范围以外的像元提取到新栅格。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
rectExtract = ExtractByRectangle("elevation", 
                                 Extent(477625, 213900, 486400, 224200), 
                                 "OUTSIDE")
rectExtract.save("c:/sapyexamples/output/extrect")
ExtractByRectangle 示例 2(独立脚本)

本示例会将矩形范围内的像元提取到新栅格。

# Name: ExtractByRectangle_Ex_02.py
# Description: 
# 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"
inRectangle = Extent(477625, 213900, 486400, 224200)

# Execute ExtractByRectangle
rectExtract = ExtractByRectangle(inRaster, inRectangle, "INSIDE")

# Save the output 
rectExtract.save("c:/sapyexamples/output/extrect02")

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题