Извлечь по маске (Extract by Mask) (Spatial Analyst)
Резюме
Извлекает ячейки растра, соответствующие площади, ограниченной маской.
Рисунок
Использование
-
Инструмент Извлечь по маске (Extract by Mask) похож на задание маски в параметрах среды, с тем исключением, что маска, заданная для этого инструмента, будет применена только при использовании этого инструмента, в то время как маска, установленная в параметрах среды, будет применена ко всем инструментам, до тех пор, пока эта установка не будет изменена.
-
Если в качестве входных данных выбран многоканальный растр, выходной растр тоже будет многоканальным. Каждый отдельный канал входного многоканального растра будет проанализирован соответственно.
По умолчанию выходной формат – Esri Grid stack. Обратите внимание, что стек Esri Grid не может начинаться с цифры, использовать пробелы и быть более 9 символов в длину.
-
Если входные данные – это слой, созданный на основании многоканального растра, состоящего из более, чем трех каналов, в операции извлечения будут учитываться только те каналы, которые были загружены слоем (отображены символами). Следовательно, выходной многоканальный растр может состоять не более, чем из трех каналов, соответствующих тем, которые были использованы при отображении входного слоя.
-
Если входные данные маски - растр, значения ячеек входного растра, отличные от NoData, будут записаны в соответствующие ячейки выходного растра. Инструменты, позволяющие создать растр маски, включают в себя Условие (Con), Критерий (Test) и другие инструменты группы извлечения.
-
Если в качестве маски установлен многоканальный растр, в операции будет использован только первый канал.
-
Если входной растр целочисленный, выходной растр будет также целочисленным. Если входной растр с плавающей точкой, выходной растр также будет с плавающей точкой.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр, ячейки которого будут участвовать в операции извлечения. | Raster Layer |
in_mask_data |
Маска, определяющая область извлечения. Может быть растр или класс пространственных объектов. Если данные маски представляют собой растр, то ячейкам выходного растра, соответствующим ячейкам NoData растра маски, также будут присвоены значения NoData. | Raster Layer | Feature Layer |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр, содержащий значения ячеек, извлечённые из входного растра. | Raster |
Пример кода
В этом примере из растра извлекаются ячейки в маске, определенной по входному классу полигональных объектов шейп-файлов.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtractByMask = ExtractByMask("elevation", "mask.shp")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
В этом примере из растра извлекаются ячейки в маске, определенной по входному классу полигональных объектов шейп-файлов.
# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a raster that correspond with the areas
# defined by a mask.
# Requirements: Spatial Analyst Extension
# 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"
inMaskData = "mask.shp"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)
# Save the output
outExtractByMask.save("C:/sapyexamples/output/extractmask")