FuzzyMSSmall (arcpy.sa)
Краткая информация
Задает нечеткое множество с помощью функции, основанной на среднем и стандартном отклонении, причем чем меньшее значение имеет элемент множества, тем ближе его номер к 1.
Обсуждение
Инструмент, использующий объект FuzzyMSSmall object: Fuzzy Membership (Нечеткое множество).
Есть два уравнения для функции MS Small, в зависимости от значения произведения a * m.
- Если x > a * m:
u(x) = (b * s) / (x - (a * m) + (b * s))
- , где:
m = среднее
s = стандартное отклонение
a = множитель среднего
b = множитель стандартного отклонения
Данные a and b множители являются входными параметрами.
- , где:
- Если x <= a * m:
u(x) = 0
Функция MSSmal полезна, когда меньшие входные значения имеют больший номер элемента множества.
Входные значения могут быть положительными целочисленными значениями или положительными значениями с плавающей точкой.
Результат может быть похож на функцию нечеткого множества Маленький (Small), в зависимости от варианта определения множителей среднего и стандартного отклонения.
Синтаксис
Параметр | Объяснение | Тип данных |
meanMultiplier |
Множитель для среднего значения входных значений в уравнении функции MSLarge. (Значение по умолчанию — 1) | Double |
STDMultiplier |
Множитель для стандартного отклонения входных значений в уравнении функции MSLarge. (Значение по умолчанию — 1) | Double |
Свойства
Свойство | Объяснение | Тип данных |
meanMultiplier (чтение и запись) |
Множитель для среднего значения входных значений в уравнении функции принадлежности. | Double |
STDMultiplier (чтение и запись) |
Множитель для стандартного отклонения входных значений в уравнении функции принадлежности. | Double |
Пример кода
Иллюстрирует создание класса FuzzyMSSmall и его применение в инструменте FuzzyMembership (Нечеткое множество) в окне Python.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzyMSSmall(1.2, 3.2))
outFzyMember.save("c:/sapyexamples/fzymssml")
Выполняет FuzzyMembership с использованием класса FuzzyMSSmall.
# Name: FuzzyMSSmall_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 FuzzyMSSmall algorithm object
meanMultiply = 1.5
stdMultiply = 1
myFuzzyAlgorithm = FuzzyMSSmall(meanMultiply, stdMultiply)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)
# Save the output
outFuzzyMember.save("c:/sapyexamples/fzymssml2")