FuzzySmall (arcpy.sa)

Резюме

Определяет функцию нечеткого множества с меньшими входными значениями, принадлежность которых приближается к единице.

Обсуждение

Инструмент, использующий объект FuzzySmall: Нечеткое множество (Fuzzy Membership).

Уравнение функции fuzzy Small следующее:

Уравнение функции fuzzy Small

Входные данные уравнения: разброс f1 и середина f2. Увеличение разброса делает кривую нечеткого множества круче.

Функция Small может оказаться полезной, когда малые входные значения имеют более высокую принадлежность.

Входные значения могут быть положительными целочисленными значениями или положительными значениями с плавающей точкой.

Графическое изображение FuzzySmall
Вариации функции нечеткого множества Small.

Синтаксис

FuzzySmall (midpoint, spread)
ПараметрОбъяснениеТип данных
midpoint

Определенное пользователем значение с нечетким множеством 0.5.

Средняя точка (Midpoint) является по умолчанию средней точкой диапазона значений входного растра.

Double
spread

Определяет разброс функции Small. Разброс варьируется в диапазоне от 1 до 10; чем выше его значение, тем гуще распределение от средней точки.

(Значение по умолчанию — 5)

Double

Свойства

СвойствоОбъяснениеТип данных
midpoint
(чтение и запись)

Заданное пользователем значением, определяющую среднюю точку для функцию принадлежности.

Double
spread
(чтение и запись)

Определяет разброс функции множества. Чем больше значение, тем больше будет крутизна распределения от середины.

Double

Пример кода

FuzzySmall. Пример 1 (окно Python)

Иллюстрирует создание класса FuzzySmall и его применение в инструменте Нечеткое множество (FuzzyMembership) в окне Python.

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzySmall(19, 8))
outFzyMember.save("c:/sapyexamples/fzysml")
FuzzySmall. Пример 2 (автономный скрипт)

Выполняет Нечеткое множество (FuzzyMembership), используя класс FuzzySmall.

# Name: FuzzySmall_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 FuzzySmall algorithm object
midpoint = 12
spread = 8
myFuzzyAlgorithm = FuzzySmall(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/fzysml2")

Связанные темы

9/11/2013