Краткая информация
Создает новый растр, являющийся копией входного растра с примененными к нему текущими настройками среды.
Обсуждение
Используйте ApplyEnvironment в случае, если необходимо применить параметры среды к существующему растру (это может быть растровый объект или данные на диске). Например, может быть необходимо изменить размер ячеек или вырезать по форме маски выходные данные примененного ранее инструмента анализа.
Функция создает новый растровый объект, являющийся копией входных данных, к которой были применены параметры среды. Поскольку указанный набор растровых данных для растрового объекта является временным, для его сохранения можно вызвать метод save растрового объекта. Например, outRas.save("C:/Data/outraster").
Функцию ApplyEnvironment можно использовать для создания растра постоянных значений, задав параметры размера ячеек и среды экстента, а затем введя скалярное значение в качестве входных данных. Например, outConstant = ApplyEnvironment(5).
Если входной растр - многоканальный, выходной растр также будет многоканальным. Функция выполняет операцию для каждого канала входных данных.
Если входными данными являются многомерные растры, будут обработаны все срезы по всем переменным, а выходной растр будет многомерным.
Следующие параметры среды применяются к функции ApplyEnvironment: Размер ячейки, Метод проецирования размера ячейки, Текущая рабочая область, Экстент, Маска, Выходная система координат, Временная рабочая область и Растр привязки.
Синтаксис
ApplyEnvironment (in_raster)
Параметр | Описание | Тип данных |
in_raster | Входной набор растровых данных. | Raster |
Тип данных | Описание |
Raster | Выходной растр. |
Пример кода
Преобразует единицы измерения набора данных высот с футов в метры, а затем применяет новый размер ячеек и обрезает до нового экстента маски.
import arcpy
from arcpy import env
from arcpy.sa import *
#convert raster form meter to feet
elevMeter = Raster('C:/data/dem10') * 0.3048
env.cellsize = '30'
env.mask = 'C:/data/studyarea'
#create a new clipped raster based on the cellsize and mask environment settings
elevRasterClip = ApplyEnvironment(elevMeter)
elevRasterClip.save("C:/output/fgdb.gdb/dem30_m")