LinearUnmixing

获得 Image Analyst 许可后可用。

需要 Spatial Analyst 许可。

摘要

执行亚像素分类并计算单个像素的不同土地覆盖类型的分数丰度。

说明

有关此函数工作原理的详细信息,请参阅线性光谱解混栅格函数。

栅格对象所引用的栅格数据集是临时性的。 要将其设置为永久,可以调用栅格对象的 save 方法。

语法

LinearUnmixing (in_raster, in_spectral_profile_file, {value_option})
参数说明数据类型
in_raster

输入栅格。

Raster
in_spectral_profile_file

不同土地覆被类的光谱图路径。

可通过以下形式提供该信息:面要素类、生成自训练最大似然法分类器工具的分类器定义文件 (.ecd) 或包含类光谱图的 JSON 文件 (.json)。

String
value_option

指定将如何定义输出像素值。

  • SUM_TO_ONE - 每个像素的类值都将以十进制格式提供,且所有类的总和等于 1,例如,Class1 = 0.16,Class2 = 0.24,Class3 = 0.60。
  • NON_NEGATIVE - 不会存在负输出值。

可以通过使用分号进行分隔来指定两个选项:"SUM_TO_ONE;NON_NEGATIVE"

String
返回值
数据类型说明
Raster

输出栅格。

代码示例

LinearUnmixing 示例

本示例将求解多光谱栅格中每个像素的分数类值。

from arcpy.ia import *
out_linearunmixing_raster = LinearUnmixing(
    "Landsat8.tif","C:/arcpyExamples/data/training_feature.ecd")
out_linearunmixing_raster.save(
    "C:/arcpyexamples/outputs/linearunmix_output.tif")
LinearUnmixing 示例

本示例将求解多光谱栅格中每个像素的分数类值。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Set the local variables
in_raster = "C:/data/Landsat_8.tif"
in_spectral_profile = "C:/data/training_features.ecd"
value_options = "SUM_TO_ONE;NON_NEGATIVE" 

# Apply LinearSpectralUnmixing function
unmixing_outputs = LinearUnmixing(in_raster, in_spectral_profile, value_options)

# Save the output
unmixing_outputs.save("C:/arcpyExamples/outputs/unmixing_results.tif")