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

Уровень лицензии:BasicStandardAdvanced

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

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

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

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

Синтаксис

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).

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

  • 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

Возвращено значение

ИмяОбъяснениеТип данных
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 for Desktop Basic: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Standard: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Advanced: Требует Дополнительный модуль Spatial Analyst
6/5/2014