TfSymmetricLinear

Доступно с лицензией Spatial Analyst.

Краткая информация

Задает функцию преобразования Symmetric Linear, которая определяется по контролирующим форму параметрам minimum и maximum, а также по верхнему и нижнему порогам, задающим диапазон, в котором применяется функция.

Более подробно о влиянии параметров на эту функцию преобразования

Обсуждение

Инструмент, который использует объект TfSymmetricLinear, – это Пересчет по функции (Rescale by Function).

Линейная функция, применяемая между заданными минимальным и максимальным значениями, зеркально отображается вокруг средней точки minimum и maximum. Соответствующее входное значение для зеркально отображенной точки получает наибольшее значение предпочтения (наиболее высокое выходное значение высоты), с линейно уменьшающимися предпочтениями при удалении входных значений от зеркально отображенного значения.

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

Важно понимать следующие отношения между параметрами minimum и maximum и порогами:

  • Если параметр minimum меньше maximum, и minimum больше lowerThreshold, любое входное значение, меньшее minimum и большее lowerThreshold в выходном растре получит значение fromScale.
  • Если параметр maximum больше minimum, и maximum меньше upperThreshold, любое входное значение, больше maximum и меньше upperThreshold в выходном растре получит значение toScale.
  • Если параметр minimum меньше, чем lowerThreshold, функция будет использовать заданный minimum. Если lowerThreshold остается равным самому низкому входному значению, а upperThreshold остается равным самому высокому входному значению (которое по умолчанию равно параметру maximum), самое низкое входное значение будет присвоено оценочному значению, заданному точкой пересечения функцией с осью y (lowerThreshold). В результате, выходное оценочное значение для местоположения входной ячейки, присвоенное lowerThreshold, будет больше, чем значение fromScale. Та же логика применяется для наиболее высокого входного значения, если заданный maximum больше, чем upperThreshold.

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

Синтаксис

TfSymmetricLinear ({minimum}, {maximum}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
ПараметрОписаниеТип данных
minimum

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

Значение minimum не может быть равно maximum.

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

Double
maximum

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

Значение minimum не может быть равно maximum.

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

Double
lowerThreshold

Задает начальное значение, к которому начинает применяться указанная функция преобразования. Входное значение, соответствующее lowerThreshold, присваивается шкале оценки fromScale в выходном растре. Входные значения меньшее lowerThreshold присваиваются значению valueBelowThreshold и не рассматриваются в диапазоне значений функции.

Значение lowerThreshold должно быть меньше, чем upperThreshold.

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

Double
valueBelowThreshold

Указываемое пользователем значение, которое будет присвоено ячейкам, чьи значения ниже lowerThreshold.

Значение valueBelowThreshold может быть числом с плавающей точкой, целым числом или NoData. В диалоговом окне инструмента вокруг NoData не используются кавычки; однако в скрипте необходимо указывать "NoData" (с кавычками).

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

Variant
upperThreshold

Задает конечное значение,на котором заканчивается применение указанной функции преобразования. Входное значение, соответствующее upperThreshold, присваивается шкале оценки toScale в выходном растре. Входные значения выше upperThreshold присваиваются значению valueAboveThreshold и не рассматриваются в диапазоне значений функции.

Значение lowerThreshold должно быть меньше, чем upperThreshold.

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

Double
valueAboveThreshold

Указываемое пользователем значение, которое будет присвоено ячейкам, чьи значения выше upperThreshold.

Значение valueAboveThreshold может быть числом с плавающей точкой, целым числом или NoData. В диалоговом окне инструмента вокруг NoData не используются кавычки; однако в скрипте необходимо указывать "NoData" (с кавычками).

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

Variant

Свойства

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

Значение minimum для функции преобразования, задающее начальную точку для функции Symmetric Linear (Симметричная линейная).

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

Значение maximum для функции преобразования, задающее конечную точку для функции Symmetric Linear (Симметричная линейная).

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

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

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

Значение, которое будет присвоено ячейкам выходного растра, чьи значения ниже lowerThreshold.

Variant
upperThreshold
(чтение и запись)

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

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

Значение, которое будет присвоено ячейкам выходного растра, чьи значения превышают upperThreshold.

Variant

Пример кода

Функция преобразования SymmetricLinear, пример 1 (окно Python)

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

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("distroads", TfSymmetricLinear(30, 8500, "#", "#", "#", "#"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfli1")
Функция преобразования SymmetricLinear, пример 2 (автономный скрипт)

Иллюстрирует преобразование входных данных с помощью инструмента RescaleByFunction, использующего класс TfSymmetricLinear.

# Name: TfSymmetricLinear_Ex_02.py
# Description: Rescales input raster data using a SymmetricLinear function and
#     transforms the function values onto a specified evaluation scale. 
# Requirements: Spatial Analyst Extension
# Author: esri

# 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 = "distroads"

# Create the TfSymmetricLinear object
minimum = 30
maximum = 8500
lowerthresh = "#"
valbelowthresh = "#"
upperthresh = "#"
valabovethresh = "#"
myTfFunction = TfSymmetricLinear(minimum, maximum, lowerthresh, valbelowthresh, upperthresh, valabovethresh)

# Set evaluation scale
fromscale = 1
toscale = 10

# Execute RescaleByFunction
outRescale = RescaleByFunction(inRaster, myTfFunction, fromscale, toscale)

# Save the output
outRescale.save("c:/sapyexamples/rescaletfsl2")

Связанные разделы