LinearUnmixing

Image Analyst ライセンスで利用できます。

Spatial Analyst のライセンスで利用可能。

概要

Performs subpixel classification and calculates the fractional abundance of land cover types for individual pixels.

ディスカッション

For more information about how this function works, see the Linear Spectral Unmixing raster function.

The referenced raster dataset for the raster object is temporary. To make it permanent, you can call the raster object's save method.

構文

LinearUnmixing (in_raster, in_spectral_profile_file, {value_option})
パラメーター説明データ タイプ
in_raster

The input raster.

Raster
in_spectral_profile_file

The path to the spectral profile for the various land cover classes.

This can be provided as a polygon feature class, a classifier definition file (.ecd) generated from the Train Maximum Likelihood Classifier tool, or a JSON file (.json) that contains the class spectral profiles.

String
value_option

Specifies how the output pixel values will be defined.

  • SUM_TO_ONE—Class values for each pixel will be provided in decimal format with the sum of all classes equal to 1; for example, Class1 = 0.16; Class2 = 0.24; Class3 = 0.60.
  • NON_NEGATIVE—There will be no negative output values.

Both options can be specified by delimiting with a semicolon: "SUM_TO_ONE;NON_NEGATIVE".

String
戻り値
データ タイプ説明
Raster

The output raster.

コードのサンプル

LinearUnmixing example

This example resolves the fractional class values for each pixel in the multispectral raster.

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

This example resolves the fractional class values for each pixel in the multispectral raster.

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

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

# Set the analysis environments
arcpy.env.workspace = "C:/arcpyExamples/data"

# Set the local variables
in_raster = "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")

関連トピック