获得 Image Analyst 许可后可用。
需要 Spatial Analyst 许可。
描述
用于执行亚像素分类和计算单个像素的不同土地覆被类型的分数丰度。
使用方法
此工具可为包含多种土地覆被类型的单个像素计算分数覆盖度。该工具可生成多波段栅格,其中每个波段均与每个土地覆被类的分数丰度相对应。例如,您可以使用该工具对多光谱图像执行土地覆被分类,以识别光合作用植被、裸土以及枯死植被或非光合作用植被。
输出多波段栅格的顺序将遵循输入光谱图的顺序。
类的数量不能超过输入栅格中的波段数。例如,您无法从 8 波段栅格中提取 8 个以上类的相关信息。
以下是作为 .json 文件提供的光谱图示例:
{ "EsriEndmemberDefinitionFile" : 0, "FileVersion" : 1, "NumberEndmembers" : 3, "NumberBands" : 7, "Endmembers" : [ { "EndmemberID" : 1, "EndmemberName" : "urban", "SpectralProfile" : [ 88, 42, 48, 38, 86, 115, 59 ] }, { "EndmemberID" : 2, "EndmemberName" : "vegetation", "SpectralProfile" : [ 50, 21, 20, 35, 50, 110, 23 ] }, { "EndmemberID" : 3, "EndmemberName" : "water", "SpectralProfile" : [ 51, 20, 14, 9, 7, 116, 4 ] } ] }
从训练最大似然法分类器工具生成的分类器定义文件 (.ecd) 是当前唯一受支持的分类器输出。
面要素需要以下字段名称:
- classname - 指示类类别名称的文本字段。
- classvalue - 包含每个类类别的整数值的长整型字段。
在计算每个土地覆被类的分数丰度时,解决方案中可以包含负系数或分数。如果发生这种情况,请查看输入光谱图中的训练样本,以确认这些样本准确表示了每个类。如果样本看上去正确无误,则请为输出值选项选择非负数。
语法
LinearSpectralUnmixing(in_raster, in_spectral_profile_file, {value_option})
参数 | 说明 | 数据类型 |
in_raster | 输入栅格数据集。 | Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service |
in_spectral_profile_file | 不同土地覆被类的光谱信息。 可通过以下形式提供该信息:面要素、生成自训练最大似然法分类器工具的分类器定义文件 (.ecd) 或包含类光谱图的 JSON 文件 (.json)。 | File; Feature Layer; String |
value_option [value_option,...] (可选) | 指定将如何定义输出像素值。
| String |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出多波段栅格数据集。 | Raster |
代码示例
本示例将根据分类器定义文件 (.ecd) 计算类的分数丰度并生成多波段栅格。
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")
# Execute
unmixing_outputs = LinearSpectralUnmixing("C:/data/landsat7_image.crf",
"C:/data/train_maxi_likelihood_ecd_output.ecd", "SUM_TO_ONE;NON_NEGATIVE")
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs.crf")
本示例将根据分类器定义文件 (.ecd) 计算类的分数丰度并生成多波段栅格。
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")
# Define input parameters
inFile = "C:/data/landsat7_image.crf"
json_file = "C:/data/customized_endmembers.json"
options = "SUM_TO_ONE"
# Execute
unmixing_outputs = LinearSpectralUnmixing(inFile, json_file, options)
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs_using_json.crf")
本示例将根据训练样本要素类 (.ecd) 计算类的分数丰度并生成多波段栅格。
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")
# Define input parameters
inFile = "C:/data/landsat7_image.crf"
training_features = "C:/data/training_features.shp"
options = "SUM_TO_ONE;NON_NEGATIVE"
# Execute
unmixing_outputs = LinearSpectralUnmixing(inFile, training_features, options)
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs_using_training_features.crf")
许可信息
- Basic: 需要 Spatial Analyst 或 Image Analyst
- Standard: 需要 Spatial Analyst 或 Image Analyst
- Advanced: 需要 Spatial Analyst 或 Image Analyst