Пересчет по функции (Spatial Analyst)

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

Сводка

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

Более подробно о работе инструмента Пересчёт по функции

Использование

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

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

  • Просмотр тематического словаря по данному инструменту может помочь в понимании следующих положений.

  • Пересчет входных данных по непрерывной шкале концептуально является двух-шаговым процессом:

    1. Применить заданную функцию к значениям входного растра.
    2. Линейно трансформировать значения функции к заданной оценочной шкале. В прогрессивной оценочной шкале, минимальные и максимальные значения функции установлены на заданные значения минимума (Значение шкалы "От") и максимума (Значение шкалы "До") оценочной шкалы, соответственно. Тем не менее, оценочная шкала может быть также реверсирована в регрессивную шкалу.

  • На следующем рисунке показан пример графика функции Степень для введения в общую концепцию и терминологию, связанную с применением функции преобразования.

    Примерный график функции Степень, со значением 2 для экспоненты и оценочной шкалы от 1 до 10
    Примерный график функции Степень, со значением 2 для экспоненты и оценочной шкалы от 1 до 10

    Входной диапазон данных в данном примере составляет от 3000 до 5000. Самое низкое значение во входном растре установлено на Нижний порог а самое высокое – Верхний порог (если смотреть на ось х), с функцией Степень ограниченной (подогнанной к) порогами. Форморегулирующие параметры определяют форму функции--такие, как Сдвиг входных данных и Экспонента для функции Степень, что позволяет вам контролировать начало функции и крутизну ее роста. Полученные значения функции Степень затем линейно преобразуются к оценочной шкале для присвоения выходных значений. На графике выше, оценочная шкала от 1 до 10 была определена с использованием параметров Значение шкалы «От» и Значение шкалы "До", как это можно видеть на оси у.

  • По умолчанию минимальное значение Входного растра присваивается значению Нижнего порога, а максимальное значение – значению Верхнего порога.

  • По умолчанию, заданная функция ограничена (подогнана к) нижним и верхним порогами и, если возможно, с использованием значений Входного растра. Как функция вписывается между нижним и верхним порогами, зависит от конкретных функций преобразования используемых следующими способами:

    • Линейная и Симметричная Линейная функции, по определению, являются подогнанными, так как минимум и максимум функций установлены на минимум (нижний порог) и максимум (верхний порог) Входного растра.
    • Подогнанные версии Экспоненциальной и Логарифмической функции применяются к значениям Входного растра.
    • Многие параметры, насколько это возможно, выводятся из Входного растра (например, Середина, Фактор и Сдвиг входных данных) для получения наилучшего варианта функций: Gaussian, Near, Small, MS Small, Large, MS Large, Power, Logistic Growth и Logistic Decay.

  • Когда значения Нижнего порога и Верхнего порога введены, применяются следующие взаимодействия:

    1. Если входная ячейка имеет значение меньшее, чем Нижний порог, то оно присваивается значению, устанавливаемому в параметре Значение ниже порога.
    2. Если входная ячейка имеет значение большее, чем значение Верхнего порога, то оно присваивается значению, устанавливаемому в параметре Значение выше порога.
    3. Все значения ячеек, включая и между значениями Нижнего порога и Верхнего порога, будут присвоены соответствующей оценочной шкале на основе значения функции, f(x). В некоторых случаях, когда форморегулирующий параметр (например, Разброс и Экспонента) введен, выходной растр может не иметь никаких ячеек приписанных к значениям шкалы "От" или шкалы "До".

  • По умолчанию, параметры, определяющие вид функции (например, Разброс или Базовый коэффициент) рассчитываются так, чтобы наилучшим образом подогнать (ограничить) функцию к минимуму и максимуму Входного растра. Однако, форморегулирующие параметры могут быть изменены для уточнения подгонки функции для предпочтения взаимодействия явления со значениями критерия. Если значение задано для любого форморегулирующего параметра, полученная функция, в сочетании со значениями нижнего и верхнего порогов, будет использована при пересчете значений Входного растра; подогнанная версия функции не будет использоваться.

  • Значение шкалы «От» и Значение шкалы «До» определяют верхнее и нижнее значения непрерывной оценочной шкалы. Наименьшее значение функции присваивается значению, установленному для Значение шкалы «От», и наибольшее значение функции присваивается значению, установленному для Значение шкалы «До». Все значения функции между ними присваиваются соответствующим оценочным значениям.

  • Оценочная шкала может быть установлена в диапазоне от низкого до высокого (например, от 1 до 10) или от высокого к низкому (например, от 10 до 1).

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

  • В диалоговом окне инструмента, обычно при изменении Нижнего порога или Верхнего порога форморегулирующие параметры – параметры, определяющие форму функции, например, Разброс или Базовый коэффициент – автоматически пересчитываются. Когда форморегулирующий параметр изменен, значения Нижнего порога и Верхнего порога не изменяются автоматически, и, если Нижний порог или Верхний порог впоследствии изменятся, то введенный форморегулирующий параметр (и любые другие связанные форморегулирующие параметры) сохранит измененные установки и не будет пересчитан.

  • Форморегулирующие параметры для функции (например, Разброс или Базовый коэффициент) и нижний и верхний пороги основываются на статистике, рассчитанной для текущих обрабатываемых настроек среды: экстента, размера ячейки и растра привязки. Если ни один из них не установлен, используется статистика, ассоциированная с полным экстентом входного растра.

  • В диалоговом окне инструмента, если входной растр не имеет действительной статистики для расчета форморегулирующих параметров или для определения порогов, то эти параметры будут пустыми и вы получите предупреждающее сообщение. Для заполнения параметров вам потребуется нажать кнопку Вычислить статистику для подсчета статистики при текущих установках среды. Значение Нижнего порога будет приведено к минимальному значению в пределах экстента обработки и значение Верхнего порога – к максимальному значению, с соответствующим образом определенными значениями форморегулирующего параметра. Вы можете не иметь актуальной статистики при следующих условиях:

    • Параметры среды: экстент обработки, размер ячейки и растр привязки – установлены до запуска диалогового окна инструмента.
    • Входной растр не имеет вычисленной статистики.

  • В окне инструмента, если параметры среды: экстент обработки, размер ячейки или растр привязки изменятся после того, как введен входной растр и задана функция, то параметры функции могут быть установлены пустыми (параметр без значения). Нажмите кнопку Вычислить статистику, для повторного заполнения параметров и просмотра значений для нового экстента. Если Нижний порог, Верхний порог или любой форморегулирующий параметр изменены вводом значения, то инструмент отследит эти изменения параметров. Если экстент обработки изменяется, то значения для данных параметров будут оставаться такими, какими были установлены после нажатия кнопки Вычислить статистику.

  • Множество функций может быть применено к различным диапазонам входного растра. Для этого, функции могут быть сцеплены посредством запуска инструмента Пересчет по функции множество раз, в первый раз с указанием функции преобразования для определенного диапазона входных значений и, затем, последующих запусков с применением другой функции с другим диапазоном значений. Полученные выходные растры затем комбинируются, например

    1. Запустите инструмент Пересчет по функции с применением линейной функции к значениям в диапазоне от 1500 до 3200 и установите значения ниже и выше порогов на 0.
    2. Запустите инструмент второй раз для того же входного растра, на этот раз, с применением Экспоненциальной функции к значениям, превышающим 3200 и меньшим, чем 5000, и установите значения выше и ниже порогов на 0.
    3. Сложите два полученных выходных растра вместе с помощью инструментаСложить.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

RescaleByFunction(in_raster, {transformation_function}, {from_scale}, {to_scale})
ParameterОбъяснениеТип данных
in_raster

Входной растр для изменения масштаба.

Raster Layer
transformation_function
(Дополнительный)

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

Классы функции преобразования используются для задания типа функции преобразования.

Типами классов функции преобразования являются

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

Формы классов функции преобразования:

  • TfExponential({shift}, {baseFactor}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfGaussian({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLarge({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLinear({minimum}, {maximum}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogarithm({shift}, {factor}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogisticDecay({minimum}, {maximum}, {yInterceptPercent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfLogisticGrowth({minimum}, {maximum}, {yInterceptPercent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfMSLarge({meanMultiplier}, {STDMultiplier}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfMSSmall({meanMultiplier}, {STDMultiplier}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfNear({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfPower({shift}, {exponent}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfSmall({midpoint}, {spread}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})
  • TfSymmetricLinear({minimum}, {maximum}, {lowerThreshold}, {valueBelowThreshold}, {upperThreshold}, {valueAboveThreshold})

Функцией преобразования по умолчанию является TfMSSmall.

Параметры по умолчанию для функции преобразования включают следующие:

  • baseFactor (для TfExponential) – выводится из входного растра.
  • exponent (для TfPower) – выводится из входного растра.
  • factor (для TfLogarithm) – выводится из входного растра.
  • lowerThreshold (для всех функций) – устанавливается на Минимум входного растра.
  • maximum (для TfLinear, TfLogisticDecay, TfLogisticGrowth и TfSymmetricLinear) – устанавливается на Максимум входного растра.
  • meanMultiplier (для TfMSLarge и TFMSSmall) – 1.
  • midpoint (для TfGaussian и TfNear) – устанавливается на середину диапазона значений входного растра.
  • midpoint (для TfLarge и TfSmall) – устанавливается на среднее входного растра.
  • minimum (для TfLinear, TfLogisticDecay, TfLogisticGrowth и TfSymmetricLinear) – устанавливается на Максимум входного растра.
  • shift (для TfExponential, TfLogarithm и TfPower) – выводится из входного растра.
  • spread (для TfGaussian и TfNear) – выводится из входного растра.
  • spread (для TfLarge и TfSmall) – 5.
  • STDMultiplier (для TfMSLarge и TFMSSmall) – 1.
  • upperThreshold (для всех функций) – устанавливается на Максимум входного растра.
  • valueAboveThreshold (для всех функций) – устанавливается на значение to_scale.
  • valueBelowThreshold (для всех функций) – устанавливается на значение from_scale.
  • yInterceptPercent (для класса TfLogisticDecay) – 99.0000.
  • yInterceptPercent (для класса TfLogisticGrowth) – 1.0000.

Transformation function
from_scale
(Дополнительный)

Начальное значение выходной оценочной шкалы.

Значение from_scale не может быть эквивалентно значению to_scale. Значение from_scale может быть ниже или выше значения to_scale (например, от 1 до 10 или от 10 до 1).

Значение должно быть положительным и может быть либо целым, либо вещественным числом двойной точности.

Значение по умолчанию равно 1.

Double
to_scale
(Дополнительный)

Конечное значение выходной оценочной шкалы.

Значение to_scale не может быть эквивалентно значению from_scale. Значение to_scale может быть ниже или выше значения from_scale (например, от 1 до 10 или от 10 до 1).

Значение должно быть положительным и может быть либо целым, либо вещественным числом двойной точности.

Значение по умолчанию равно 10.

Double

Значение отраженного сигнала

NameОбъяснениеТип данных
out_raster

Выходной перемасштабированный растр.

Выходными данными будет растр значений с плавающей точкой от (или внутри) оценочных значений from_scale и to_scale.

Raster

Пример кода

RescaleByFunction пример 1 (окно Python)

Этот пример создает растр, значения которого перемасштабированы с помощью функции MSSmall.

import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outRescale = RescaleByFunction("elevation", TfMSSmall(1.25, 1.5, "#", "#", 4000, "NoData"), 1, 10)
outRescale.save("c:/sapyexamples/rescaletfms1")
RescaleByFunction, пример 2 (автономный скрипт)

Демонстрирует использование этого инструмента на данных высот, где низкие местоположения являются более предпочтительными, чем высокие. Местоположения с высотой выше 4000 метров установлены на значение NoData.

# Name: TfMSSmall_Ex_02.py
# Description: Rescales input raster data using a MSSmall 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 = "elevation"

# Create the TfMSSmall object
meanmult = 1.25
stdmult = 1.5
lowerthresh = "#"
valbelowthresh = "10"
upperthresh = 4000
valabovethresh = "NoData"
myTfFunction = TfMSSmall(meanmult, stdmult, 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/rescaletfms2")

Информация о лицензиях

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

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