ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

FuzzyNear

需要 Spatial Analyst 许可。

  • 描述
  • 讨论
  • 语法
  • 属性
  • 代码示例

描述

通过一个用户定义的中点(分配的隶属度为 1)及经过定义减至零的散度,定义针对特定值的模糊隶属度函数。

讨论

使用 FuzzyNear 对象的工具:模糊隶属度。

FuzzyNear 函数的方程为:

模糊邻近分析函数方程

方程的输入为 f1(散度 (spread))和 f2(中点 (midpoint))。增大散度会导致模糊隶属度曲线变得陡峭。

如果隶属度接近特定值,则邻近分析函数十分有用。

输入值可以为整型值或浮点型正值。

邻近分析函数与高斯模糊隶属度函数类似,只是邻近分析函数的散度 (spread) 更小。

模糊邻近值图
模糊邻近值隶属度函数的变化。

语法

 FuzzyNear (midpoint, spread)
参数说明数据类型
midpoint

模糊隶属度为 1 的用户定义值。

默认值为输入栅格值范围的中点。

Double
spread

定义邻近分析函数的散度。散度的范围通常在 0.001 到 1 之间,值越大,中点两侧值分布的幅度越大。

(默认值为 0.1)

Double

属性

属性说明数据类型
midpoint
(可读写)

定义隶属度函数中点的用户定义值。

Double
spread
(可读写)

用于定义成员从属函数的散度。值越大,从中点开始的分布越陡。

Double

代码示例

FuzzyNear 示例 1(Python 窗口)

演示如何在 Python 窗口下创建 FuzzyNear 类,并通过 FuzzyMembership 工具使用该类。

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzyGaussian(9, 0.1))
outFzyMember.save("c:/sapyexamples/fzynear")
FuzzyNear 示例 2(独立脚本)

使用 FuzzyNear 类执行 FuzzyMembership。

# Name: FuzzyNear_Ex_02.py
# Description: Scales input raster data into values ranging from zero to one
#     indicating the strength of a membership in a set. 
# 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
inRaster = "as_std"

# Create the FuzzyNear algorithm object
midpoint = 11
spread = 0.2
myFuzzyAlgorithm = FuzzyNear(midpoint, spread)

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

# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

# Save the output
outFuzzyMember.save("c:/sapyexamples/fzynear2")

相关主题

  • Spatial Analyst 类概述
  • 模糊类概述
  • 将模糊逻辑应用于叠加栅格
  • 模糊隶属度的工作原理
  • 模糊叠加的工作原理

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明