FuzzyGaussian
Краткая информация
Задает функцию принадлежности нечеткого множества через гауссово (нормальное) распределение на основании заданной пользователем середины (которой присваивается значение принадлежности 1) с определенным разбросом, приближающимся к нулю.
Обсуждение
Инструмент, использующий объект FuzzyGaussian: Нечеткое множество (Fuzzy Membership).
Уравнение нечеткой функции Gaussian:

Входные данные уравнения: разброс f1 и середина f2. Увеличение разброса делает кривую нечеткого множества круче.
Полезно использовать функцию Нечеткий Гауссов (Gaussian), если принадлежность близка к заданному значению.
Входные значения могут быть положительными целочисленными значениями или положительными значениями с плавающей точкой.
Кривая Гаусса аналогична функции Ближайший объект, но имеет более узкое распределение.

Синтаксис
FuzzyGaussian(midpoint, spread)
| Имя | Объяснение | Тип данных |
|---|---|---|
|
midpoint |
Определенное пользователем значение с нечетким множеством 1. Средняя точка (Midpoint) является по умолчанию средней точкой диапазона значений входного растра. |
Double |
|
spread |
Определяет разброс функции Гауссова. Разброс варьируется в диапазоне от 0.01 до 1; чем выше его значение, тем гуще распределение вокруг средней точки. (Значение по умолчанию — 0.1) |
Double |
Свойства
| Имя | Объяснение | Тип данных |
|---|---|---|
|
midpoint (Чтение / Запись) |
Заданное пользователем значением, определяющую среднюю точку для функцию принадлежности. |
Double |
|
spread (Чтение / Запись) |
Определяет разброс функции множества. Чем больше значение, тем больше будет крутизна распределения от середины. |
Double |
Пример кода
Иллюстрирует создание класса FuzzyGaussian и его применение в инструменте FuzzyMembership в окне Python.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzyGaussian(12, 0.1))
outFzyMember.save("c:/sapyexamples/fzymemb")
Выполняет @@@скрипт@@@ FuzzyMembership с использованием класса FuzzyGaussian.
# Name: FuzzyGaussian_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 FuzzyGaussian algorithm object
midpoint = 10
spread = 0.2
myFuzzyAlgorithm = FuzzyGaussian(midpoint, spread)
# Run FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)
# Save the output
outFuzzyMember.save("c:/sapyexamples/fzygauss")