掩膜(环境设置)

支持“掩膜”环境的工具只会考虑运行过程中落入分析掩膜范围内的像元。

插图

掩膜用于识别分析范围中要包含在操作中的位置
栅格掩膜输入中具有值的像元(紫色像元)用于识别分析范围中将包含在操作中的位置。 白色像元表示 NoData。

用法说明

  • 设置分析掩膜表示只处理落入掩膜范围内的位置,而掩膜外的所有位置都将在输出中指定为 NoData。
    注:

    掩膜环境适用于可输出栅格的 Spatial AnalystImage AnalystGeostatistical Analyst 扩展模块工具。 它也适用于可输出栅格的 3D Analyst 扩展模块的“栅格插值”、“栅格计算”、“栅格重分类”和“栅格表面”工具集中的工具。

  • 掩膜可以是栅格或要素数据。
  • 如果分析掩膜是栅格,则定义掩膜时将考虑所有具有值的像元。 掩膜栅格中的 NoData 像元将视为位于掩膜之外,并且在输出中将为 NoData。

    重分类条件函数等工具对于创建栅格分析掩膜很有帮助。

  • 如果分析掩膜为要素类或要素图层,则当该工具运行时,会在内部将其转换为栅格。 因此,您需要注意应恰当地设置像元大小捕捉栅格环境以进行分析。

对话框语法

掩膜 - 用于定义运行该工具时将考虑输入中的哪些位置的数据集。 如果掩膜数据集是栅格,则将使用所有含值的像元构成掩膜。 栅格掩膜中的 NoData 像元在输出中将为 NoData。 如果将要素数据集作为掩膜的输入,则当该工具运行时,会在内部将其转换为栅格。

脚本语法

arcpy.env.mask = mask_source

参数说明

mask_source

定义掩膜的数据集。

数据集可以是栅格或要素数据。 如果数据集是栅格数据集,含值的像元将构成掩膜,而掩膜中的所有 NoData 像元在输出中都将为 NoData。

mask 语法

脚本示例

本示例演示了如何在执行 ArcGIS Spatial Analyst 扩展模块 工具之前设置掩膜环境。

import arcpy

# Set environment
arcpy.env.workspace = "C:/workspace"
arcpy.env.extent = "C:/data/StudyArea.tif"
arcpy.env.snapRaster = "C:/data/slope_ras.tif"

# Set Mask environment
arcpy.env.mask = "C:/data/maskpoly.shp"

# Set local variables
InZones = "C:/data/parcels.shp"
InZoneField = "Parcel_ID"
InValueRaster = "C:/data/slope_ras.tif"

# Check out a Spatial Analyst license
arcpy.CheckOutExtension("Spatial")

# Process: Calculate the mean slope of each parcel area.
out = arcpy.sa.ZonalStatistics(InZones, InZoneField, InValueRaster, "MEAN", 
                               "DATA")
out.save("mean_ParSlp.tif")