Доступно с лицензией Spatial Analyst.
Краткая информация
Изменяет масштаб значений входного растра посредством применения выбранной функции преобразования, а затем преобразования полученных значений в заданной непрерывной шкале оценки.
Использование
Основное преимущество от использования этого инструмента, по сравнению с другими методами переклассификации, состоит в более высоком уровне контроля над тем, как переклассифицируются входные значения:
- Принимает и напрямую обрабатывает непрерывные входные значения, не требуя группировки значений по категориям.
- Позволяет применять ко входным данным линейные и нелинейные непрерывные функции.
- Перерасчитывает входные значения по непрерывной оценочной шкале значений в формате чисел с плавающей точкой.
Просмотр тематического словаря по данному инструменту может помочь в понимании следующих положений.
Перерасчет входных данных по непрерывной шкале концептуально является двух-шаговым процессом:
- Применить заданную функцию к значениям входного растра.
- Линейно трансформировать значения функции к заданной оценочной шкале. В прогрессивной оценочной шкале, минимальные и максимальные значения функции установлены на заданные значения минимума (Начальное значение шкалы) и максимума (Конечное значение шкалы) оценочной шкалы, соответственно. Тем не менее, оценочная шкала может быть также реверсирована в регрессивную шкалу.
На следующем рисунке показан пример графика степенной функции для введения в общую концепцию и терминологию, связанную с применением функции преобразования.
Входной диапазон данных в данном примере составляет от 3000 до 5000. Самое низкое значение во входном растре установлено на значение Нижний порог, а самое высокое – на Верхний порог (если смотреть на ось х), со степенной функции ограниченной пороговыми значениями. Форморегулирующие параметры определяют форму функции--такие, как Сдвиг входных данных и Экспонента для степенной функции--что позволяет вам контролировать начало функции и крутизну её роста. Полученные значения от степенной функции затем линейно преобразуются к оценочной шкале для присвоения выходных значений. На графике выше, оценочная шкала от 1 до 10 была определена с использованием параметров Начальное значение шкалы и Конечное значение шкалы, как это можно видеть на оси у.
По умолчанию минимальное значение Входного растра присваивается значению Нижнего порога, а максимальное значение – значению Верхнего порога.
По умолчанию, заданная функция ограничена нижним и верхним пороговыми значениями, если возможно, с использованием значений Входного растра. Как функция вписывается между нижним и верхним порогами, зависит от конкретных функций преобразования используемых следующими способами:
- Линейная и Симметричная Линейная функции, по определению, являются подогнанными, так как минимум и максимум функций установлены на минимум (нижний порог) и максимум (верхний порог) Входного растра.
- Подогнанные версии Экспоненциальной и Логарифмической функции применяются к значениям Входного растра.
- Многие параметры, насколько это возможно, выводятся из Входного растра (например, Середина, Коэффициент и Сдвиг входных данных) для получения наилучшего варианта функций: Gaussian, Near, Small, MS Small, Large, MS Large, Power, Logistic Growth и Logistic Decay.
Когда значения Нижнего порога и Верхнего порога введены, применяются следующие взаимодействия:
- Если входная ячейка имеет значение меньшее, чем значение Нижнего порога, то оно присваивается значению, устанавливаемому в параметре Значение ниже порога.
- Если входная ячейка имеет значение большее, чем значение Верхнего порога, то оно присваивается значению, устанавливаемому в параметре Значение выше порога.
- Все значения ячеек, включая и между значениями Нижнего порога и Верхнего порога, будут присвоены соответствующей оценочной шкале на основе значения функции, f(x). В некоторых случаях, когда форморегулирующий параметр (например, Разброс и Экспонента) введён, выходной растр может не иметь никаких ячеек приписанных к значениям Начальное значение шкалы или Конечное значение шкалы.
По умолчанию, параметры, определяющие вид функции (например, Разброс или Базовый коэффициент) рассчитываются так, чтобы наилучшим образом подогнать (ограничить) функцию к минимуму и максимуму Входного растра. Однако, форморегулирующие параметры могут быть изменены для уточнения подгонки функции для предпочтения взаимодействия явления со значениями критерия. Если значение задано для любого форморегулирующего параметра, полученная функции, в сочетании со значениями нижнего и верхнего порогов, будут использованы при изменении масштаба значений Входного растра; подогнанная версии функции не будет использоваться.
Начальное значение шкалы и Конечное значение шкалы определяют верхнее и нижнее значения непрерывной оценочной шкалы. Наименьшее значение функции присваивается значению, установленному для Начального значения шкалы, и наибольшее значение функции присваивается значению, установленному для Конечного значения шкалы. Все значения функции между ними присваиваются соответствующим оценочным значениям.
Оценочная шкала может быть установлена в диапазоне от низкого до высокого (например, от 1 до 10) или от высокого к низкому (например, от 10 до 1).
Значения Значение ниже порога и Значение выше порога присваиваются всем ячейкам, которые имеют входное значение ниже и выше порога соответственно. Данные значения присваиваются напрямую финальному выходному растру и данные ячейки не рассматриваются в процессе выполнения функции преобразования.
В диалоговом окне инструмента, обычно когда Нижний порог или Верхний порог введены, форморегулирующие параметры – параметры, определяющие форму функции, например, Разброс или Базовый коэффициент – автоматически перевычисляются. Тем не менее, когда форморегулирующий параметр введён, значения Нижнего порога и Верхнего порога не изменяются автоматически, и, если Нижний порог или Верхний порог впоследствии изменятся, то введённый форморегулирующий параметр (и любые другие связанные форморегулирующие параметры) сохранит изменённые установки и он не будет пересчитан.
Форморегулирующие параметры для функции (например, Разброс или Базовый коэффициент) и нижний и верхний пороги основываются на статистике, рассчитанной для текущих обрабатываемых настроек среды: экстента, размера ячейки и растра привязки. Если ни один из них не установлен, используется статистика, ассоциированная с полным экстентом входного растра.
В диалоговом окне инструмента, если входной растр не имеет действительной статистики для расчета форморегулирующих параметров или для определения порогов, то эти параметры будут пустыми и вы получите предупреждающее сообщение. Для заполнения параметров вам потребуется нажать кнопку Вычислить статистику для подсчета статистики при текущих установках среды. Значение Нижнего порога будет приведено к минимальному значению в пределах экстента обработки и значение Верхнего порога – к максимальному значению, с соответствующим образом определёнными значениями форморегулирующего параметра. Вы можете не иметь актуальной статистики при следующих условиях:
- Параметры среды: экстент обработки, размер ячейки и растр привязки – установлены до запуска диалогового окна инструмента.
- Входной растр не имеет вычисленной статистики.
В окне инструмента, если параметры среды: экстент обработки, размер ячейки или растр привязки изменятся после того, как введён входной растр и задана функция, то параметры функции могут быть установлены пустыми (параметр без значения). Нажмите кнопку Вычислить статистику, для повторного заполнения параметров и просмотра значений для нового экстента. Если Нижний порог, Верхний порог или любой форморегулирующий параметр изменены вводом значения, то инструмент отследит эти изменения параметров. Если экстент обработки изменяется, то значения для данных параметров будут оставаться такими, какими были установлены после нажатия кнопки Вычислить статистику.
Множество функций может быть применено к различным диапазонам входного растра. Для этого, функции могут быть соединены посредством нескольких запусков инструмента Пересчёт по функции, в первый раз с указанием функции преобразования для определенного диапазона входных значений и, затем, последующих запусков с применением другой функции к другим диапазонам значений. Полученные выходное растры затем комбинируются, например
- Запустите инструмент Пересчёт по функции с применением линейной функции к значениям в диапазоне от 1500 до 3200 и установите значения ниже и выше порогов на 0.
- Запустите инструмент второй раз для того же входного растра, на этот раз, с применением Экспоненциальной функции к значениям, превышающим 3200 и меньшим, чем 5000, и установите значения выше и ниже порогов на 0.
- Сложите два полученных выходных растра вместе с помощью инструмента Сложить (Plus).
См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
RescaleByFunction (in_raster, {transformation_function}, {from_scale}, {to_scale})
Параметр | Объяснение | Тип данных |
in_raster | Входной растр для пересчета. | Raster Layer |
transformation_function (Дополнительный) | Определяет непрерывную функцию для преобразования входного растра. Классы функции преобразования используются для задания типа функции преобразования. Типами классов функции преобразования являются
Какую из функций преобразования следует использовать, зависит от того, какая функцию лучше всего отражает взаимодействие предпочтений явления со входными значениями. Чтобы лучше понять, как нижний и верхний пороги влияют на выходные значения, для получения дополнительной информации о параметрах, которые контролируют пороговые значения, см. Взаимодействие нижнего и верхнего порогов для выходных значений (The interaction of the lower and upper thresholds on the output values). Формы классов функции преобразования:
Функцией преобразования по умолчанию является TfMSSmall. Параметры по умолчанию для функции преобразования включают следующие:
| 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 |
Возвращаемое значение
Название | Объяснение | Тип данных |
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
# 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/rescaletfms2")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst