Автоматизация калькулятора растра
Добавлено: 06 мар 2012, 16:04
Здравствуйте,
есть потребность в автоматизации следующего процесса:
1) стандартизация растрового слоя через Raster Calculator по формуле (Растр - "Среднее значение по растру") / "Среднее квадратичное отклонение по растру". Значения среднего и СКО можно посмотреть либо через свойства растра, либо через инструмент Data Management/Raster/Raster Properties/Get Raster Properties. В итоге должен получиться тот же растровый слой, но с другой, стандартизированной шкалой.
2) наложение двух стандартизованных слоёв через тот же Raster Calculator по формуле k*растр_1+k_растр_2, где k - вручную задаваемые коэффициенты.
Остановился на первом шаге: пробовал сделать это в Model Builder, но он не принимает за аргумент функцию GetRasterProperties_management, а вручную вбивать значения среднего и СКО бессмысленно. В Python-скрипте такая же проблема -- невозможно подставить в аргументы SingleOutputMapAlgebra переменную.
Вопрос: как написать команды в скрипте так, чтобы при расчёте новых значений в растровом слое каждый раз принимался новый аргумент -- среднее и СКО по растру -- для каждого нового растра?
Пожалуйста, помогите.
есть потребность в автоматизации следующего процесса:
1) стандартизация растрового слоя через Raster Calculator по формуле (Растр - "Среднее значение по растру") / "Среднее квадратичное отклонение по растру". Значения среднего и СКО можно посмотреть либо через свойства растра, либо через инструмент Data Management/Raster/Raster Properties/Get Raster Properties. В итоге должен получиться тот же растровый слой, но с другой, стандартизированной шкалой.
2) наложение двух стандартизованных слоёв через тот же Raster Calculator по формуле k*растр_1+k_растр_2, где k - вручную задаваемые коэффициенты.
Остановился на первом шаге: пробовал сделать это в Model Builder, но он не принимает за аргумент функцию GetRasterProperties_management, а вручную вбивать значения среднего и СКО бессмысленно. В Python-скрипте такая же проблема -- невозможно подставить в аргументы SingleOutputMapAlgebra переменную.
Вопрос: как написать команды в скрипте так, чтобы при расчёте новых значений в растровом слое каждый раз принимался новый аргумент -- среднее и СКО по растру -- для каждого нового растра?
Пожалуйста, помогите.