FuzzyLarge (arcpy.sa)

Резюме

Задает функцию принадлежности нечеткого множества, в которой большие входные значения имеют значение принадлежности, приближающееся к 1. Функция задается определенной пользователем серединой (которой присваивается значение принадлежности 0,5) с определенным разбросом.

Обсуждение

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

Уравнение нечеткой функции Large:

Уравнение нечеткой функции Large

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

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

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

Диаграмма Нечеткий большой (Fuzzy Large)
Вариации нечеткой функции принадлежности Large.

Синтаксис

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

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

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

Double
spread

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

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

Double

Свойства

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

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

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

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

Double

Пример кода

Пример FuzzyLarge №1 (окно Python)

Иллюстрирует создание класса FuzzyLarge и его применение в инструменте FuzzyMembership в окне Python.

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

Выполняет @@@скрипт@@@ FuzzyMembership с использованием класса FuzzyLarge.

# Name: FuzzyLarge_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 FuzzyLarge algorithm object
midpoint = 15
spread = 5
myFuzzyAlgorithm = FuzzyLarge(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/fzylarge")

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

9/11/2013