模糊叠加 (空间分析)

需要 Spatial Analyst 许可。

摘要

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

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

使用情况

  • 建议您在使用模糊隶属度工具的所得结果时使用此工具。 它应应用于具有 0 到 1 之间的值的栅格。

  • 下面列出了适合在某些情况下使用的叠加类型

    • 使用从所有输入证据栅格获取最大值。 在这种情况下,如果任何输入都具有较高值,则最终输出将会较高。
    • 使用从所有输入证据栅格获取最小值。 此处,所有输入必须具有较高值以使输出值较高。
    • 当组合证据栅格的重要性低于单个证据栅格时使用乘积
    • 当组合证据栅格的重要性高于任何单个证据栅格时使用总和
    • Gamma 类型通常用于组合较基本的数据。 当 gamma 为 1 时,结果与 fuzzy sum 相同。 当 gamma 为 0 时,结果与模糊乘积相同。 介于 0 和 1 之间的值允许您组合证据栅格,以产生介于两个极值之间的结果,而这两个极值将通过模糊或模糊进行建立。

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

参数

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

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

Raster Layer
叠加类型
(可选)

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

  • And输入模糊栅格的最低模糊隶属度。
  • Or输入栅格的最高模糊隶属度。
  • 乘积递减函数。 当多个证据组合重要性低于任何单独输入或比单独输入小时,将使用此选项。
  • 总和递增函数。 当多个证据组合重要性高于于任何单独输入或比单独输入大时,将使用此选项。
  • 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")