按掩膜提取 (Spatial Analyst)

需要 Spatial Analyst 许可。

描述

提取掩膜所定义区域内的相应栅格像元。

插图

按掩膜提取插图
OutRas = ExtractByMask(InRas1, InMsk1)

使用方法

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

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

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

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

  • 当为输入栅格掩膜指定多波段栅格时,将只在运算中使用第一个波段。

  • 一旦输入栅格(Python 中的 in_raster)和栅格输入栅格掩膜或要素掩膜数据数据(Python 中的 in_mask_data)具有相同的像元大小,且像元对齐,则可将其直接应用于工具中。在工具执行期间,将不会在内部对其进行重采样。

    如果像元大小不同,则输出像元大小将为输入的最大值,而输入栅格(Python 中的 in_raster)将在内部用作捕捉栅格。如果像元大小相同,但像元不对齐,则输入栅格将在内部用作捕捉栅格。在执行提取操作之前,上述任一情况都会触发内部重采样。

    有关详细信息,请参阅像元大小捕捉栅格环境主题。

  • 如果掩膜输入为一个要素,则可使用像元大小和输入栅格中的像元对齐从内部将其转换为栅格。

  • 执行按掩膜提取工具时,如果在环境设置中指定了掩膜,则输出栅格仅包含位于环境掩膜和输入掩膜数据交集内区域的像元值。

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

语法

ExtractByMask(in_raster, in_mask_data)
参数说明数据类型
in_raster

提取像元的输入栅格。

Raster Layer
in_mask_data

用于定义提取区域的输入掩膜数据。

它可以是栅格,也可以是要素数据集。

当输入掩膜数据为栅格时,将在输出栅格中为掩膜数据中的 NoData 像元指定 NoData 值。

当输入掩膜是要素数据时,如果输入栅格中像元的中心位于要素周长范围内,则会在输出中包含这些像元,而其中心落在要素周长之外的像元将会收到 NoData。

Raster Layer; Feature Layer

返回值

名称说明数据类型
out_raster

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

Raster

代码示例

ExtractByMask 示例 1(Python 窗口)

本示例将从栅格内提取由输入面 shapefile 要素类所定义的掩膜内的像元。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtractByMask = ExtractByMask("elevation", "mask.shp")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
ExtractByMask 示例 2(独立脚本)

本示例将从栅格内提取由输入面 shapefile 要素类所定义的掩膜内的像元。

# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a raster that correspond with the areas
#    defined by a mask.
# 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"
inMaskData = "mask.shp"

# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)

# Save the output 
outExtractByMask.save("C:/sapyexamples/output/extractmask")

许可信息

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

相关主题