FuzzyLinear (arcpy.sa)

Резюме

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

Обсуждение

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

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

Линейная функция не работает с отрицательными числами.

Диаграмма «Нечеткий линейный» (Fuzzy Linear)
Вариации функции принадлежности Fuzzy Linear.

Синтаксис

FuzzyLinear (minimum, maximum)
ПараметрОбъяснениеТип данных
minimum

Значение, которое будет иметь номер элемента в множестве, равный 0. Если значение minimum меньше, чем значение maximum, линейная функция будет иметь положительный уклон. Если значение minimum больше, чем значение maximum, линейная функция будет иметь отрицательный уклон.

(Значение по умолчанию — Minimum of the input)

Double
maximum

Значение, которое будет иметь номер элемента множества, равно 1. Если значение maximim больше, чем значение minimum, линейная функция будет иметь положительный уклон. Если значение maximum меньше, чем значение minimum, линейная функция будет иметь отрицательный уклон.

(Значение по умолчанию — Maximum of the input)

Double

Свойства

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

Значение, которое будет иметь номер элемента в множестве, равный 0. Если значение minimum меньше, чем значение maximum, линейная функция будет иметь положительный уклон. Если значение minimum больше, чем значение maximum, уклон будет иметь отрицательный уклон.

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

Значение, которое будет иметь номер элемента множества, равный 1. Если значение maximim больше, чем значение minimum, линейная функция будет иметь положительный уклон. Если значение minimum меньше, чем значение maximum, уклон будет отрицательным.

Double

Пример кода

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

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

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

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

# Name: FuzzyLinear_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 FuzzyLinear algorithm object
min = 19
max = 22
myFuzzyAlgorithm = FuzzyLinear(min, max)

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

# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

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

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

9/11/2013