模糊叠加 (Spatial Analyst)

摘要

基于所选叠加类型组合模糊分类栅格数据。

了解有关“模糊叠加”工作原理的详细信息

使用情况

  • 建议将此工具与模糊隶属度工具的结果配合使用。 它适用于值范围在 0 到 1 之间的栅格。

  • 以下列出了适用于特定条件的适当叠加类型

    • 使用操作获取所有输入证据栅格的最大值。 在这种情况下,如果任何输入具有较高的值,则最终输出将为高值。
    • 使用操作获取所有输入证据栅格的最小值。 此处,所有输入必须具有高值,输出才能为高值。
    • 当组合证据不如任何单个证据重要时,需使用乘积操作。
    • 当组合证据比任何单个证据都重要时,需使用求和操作。
    • Gamma 类型通常用于组合更基本的数据。 当 gamma 为 1 时,结果与模糊求和相同。 当 γ 为 0 时,结果与模糊乘积相同。 介于 0 和 1 之间的值允许您组合证据以生成介于模糊和模糊之间的结果。

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

参数

标注说明数据类型
输入栅格

要在叠加中组合的输入隶属度栅格列表。

Raster Layer
叠加类型
(可选)

指定用于组合两个或多个隶属度数据的方法。

  • 来自输入模糊栅格的模糊隶属度的最小值。
  • 来自输入栅格的模糊隶属度的最大值。
  • 产品递减函数。 当多个证据组合的重要性低于单个输入或更小时使用。
  • 总和递增函数。 当多个证据组合的重要性高于单个输入或更大时使用。
  • Gamma模糊求和和模糊乘积的代数乘积,两者均提升到 gamma 的幂。
String
Gamma
(可选)

要使用的 gamma 值。 仅当叠加类型设置为 Gamma 时才可用。

默认值为 0.9。

Double

返回值

标注说明数据类型
输出栅格

输出栅格是应用模糊运算的结果。

此输出的值始终在 0 到 1 之间。

Raster

FuzzyOverlay(in_rasters, {overlay_type}, {gamma})
名称说明数据类型
in_rasters
[in_raster,...]

要在叠加中组合的输入隶属度栅格列表。

Raster Layer
overlay_type
(可选)

指定用于组合两个或多个隶属度数据的方法。

  • AND来自输入模糊栅格的模糊隶属度的最小值。
  • OR来自输入栅格的模糊隶属度的最大值。
  • PRODUCT递减函数。 当多个证据组合的重要性低于单个输入或更小时使用。
  • SUM递增函数。 当多个证据组合的重要性高于单个输入或更大时使用。
  • GAMMA模糊求和和模糊乘积的代数乘积,两者均提升到 gamma 的幂。
String
gamma
(可选)

要使用的 gamma 值。 仅当叠加类型设置为 Gamma 时才可用。

默认值为 0.9。

Double

返回值

名称说明数据类型
out_raster

输出栅格是应用模糊运算的结果。

此输出的值始终在 0 到 1 之间。

Raster

代码示例

FuzzyOverlay 示例 1(Python 窗口)

此示例使用“与”叠加类型将输入隶属度栅格组合在一起,以识别它们之间的最小隶属度值。

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyOverlay = FuzzyOverlay(["fzymembout1", "fzymembout2"], "AND")
outFzyOverlay.save("c:/sapexamples/output/fuzzover.tif")
FuzzyOverlay 示例 2(独立脚本)

此示例使用 Gamma 叠加类型将输入隶属度栅格组合在一起。

# Name: FuzzyOverlay_Ex_02.py
# Description: Combine fuzzy membership rasters data together based on 
#    selected overlay type ("GAMMA" in this case). 
# 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
inRasterList = ["fzymembout1", "fzymembout2"]

# Execute FuzzyMembership
outFzyOverlay = FuzzyOverlay(inRasterList, "GAMMA", 0.9)

# Save the output
outFzyOverlay.save("c:/sapexamples/output/fuzzoverlay")

相关主题