ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

TfExponential

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

  • Сводка
  • Описание
  • Синтаксис
  • Свойства
  • Пример кода

Сводка

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

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

Описание

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

Самое высокое положительное значение функции ограничено половиной максимального значения с плавающей точкой одинарной точности (FLT_MAX, значение которого равно 3.402823466 x 1038), т.е. числом 1.701411733 x 1038. Любые входные значения, превышающие этот лимит, получат в выходном растре значение To scale.

Каждое возрастание высоких входных значений может существенно увеличивать итоговый диапазон функции. В результате, когда диапазон функции линейно преобразуется в шкалу оценки, высшие значения функции искажают диапазон функции так, что форма кривой Экспоненциальной функции может оказаться потерянной в выходной шкале оценки. Уменьшение upperThreshold можно использовать для срезания некоторых высоких значений.

Более подробно:

Между baseFactor и основанием экспоненциальной функции имеется связь. Формула для перехода к натуральному основанию выглядит так: bx = (eln(b))x = ex * ln(b), где ln(b) является baseFactor в формуле, использованной в функции TfExponential Exp((x – shift) * baseFactor).

Синтаксис

TfExponential ({shift}, {baseFactor}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
ПараметрОбъяснениеТип данных
shift

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

Сдвиг может быть положительным или отрицательным.

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

Double
baseFactor

Множитель, который управляет крутизной возрастания функции Exponential. Чем больше множитель, тем круче кривая при больших входных значениях. Между baseFactor и основанием функции Exponential имеется тесная связь. Значение baseFactor 1 равно основанию натурального логарифма (ex).

(Значение по умолчанию — 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

Свойства

ВладениеОбъяснениеТип данных
shift
(чтение и запись)

Значение shift для функция, задающее объем вычитания из каждого входного значения перед применением функции.

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

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

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

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

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

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

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

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

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

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

Variant

Пример кода

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

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

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

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

# Name: TfExponential_Ex_02.py
# Description: Rescales input raster data using an Exponential 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 TfExponential object
shift = 30
basefactor = 0.00035
lowerthresh = "#"
valbelowthresh = "#"
upperthresh = "#"
valabovethresh = "#"
myTfFunction = TfExponential(shift, basefactor, lowerthresh, valbelowthresh, upperthresh, valabovethresh)

# Set evaluation scale
fromscale = 1
toscale = 10

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

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

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

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

  • Обзор классов Spatial Analyst
  • Обзор классов преобразования

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация