Извлечь по маске (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Сводка

Извлекает ячейки растра, соответствующие площади, ограниченной маской.

Иллюстрация

Иллюстрация инструмента Извлечь по маске
OutRas = ExtractByMask(InRas1, InMsk1)

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

  • Дополнительные атрибуты входного растра, если имеются, будут перенесены в атрибутивную таблицу выходного растра без изменений. В зависимости от записываемого параметра, для некоторых атрибутивных значений может потребоваться пересчет.

  • Если для параметра Входной растр (in_raster в Python) указан многоканальный растр, будет обработаны все каналы.

    Чтобы обработать выбранные каналы входного многоканального растра, сначала создайте новый набор растровых данных, состоящий только из необходимых каналов, с помощью инструмента Объединить каналы. Затем используйте полученный результат как Входной растр (in_raster в Python).

    Выходным форматом по умолчанию является растр базы геоданных. Если в качестве выходного формата указан Esri Grid stack, название стека не должно начинаться с цифры, содержать пробелы и должно иметь длину не более девяти символов.

  • Если в качестве маски установлен многоканальный растр, в операции будет использован только первый канал.

  • Если Входной растр (in_raster в Python) и растровые данные Входные данные растра маски или объектов маски (in_mask_data в Python) имеют одинаковый размер ячейки и ячейки выровнены, они будут непосредственно использованы в инструменте. Они не будут пересчитываться во время выполнения инструмента.

    Если ячейки отличаются, выходной размер ячейки будет соответствовать максимальному входному, в Входной растр (in_raster в Python) будет использован как растр замыкания. Если размеры ячеек одинаковы, но ячейки не выровнены, Входной растр будет использован как растр замыкания. Любо из этих случаев запускает внутреннюю операцию пересчета, перед выполнением извлечения.

    Дополнительные сведения доступны в разделах Размер ячейки и Растр замыкания.

  • Если маска является объектом, он будет конвертирован в растр, размер ячейки и выравнивание берутся из Входного растра.

  • Если в параметрах среды задана Маска, при использовании инструмента Извлечь по маске в выходном растре будут находится значения ячеек только для области, которая находится в пределах пересечения маски среды и входных данных по маске.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

ExtractByMask(in_raster, in_mask_data)
ParameterОбъяснениеТип данных
in_raster

Входной растр, ячейки которого извлекаются.

Raster Layer
in_mask_data

Маска, определяющая область извлечения.

Может быть растром или набором классов объектов.

Если данные маски представляют собой растр, то ячейкам выходного растра, соответствующим ячейкам NoData растра маски, также будут присвоены значения NoData.

Если входная маска представляет собой векторные данные, ячейки входного растра, центр которых попадает внутрь объекта, будут включены в выходные данные, а ячейки, центр которых находится вне объекта, получат значение NoData.

Raster Layer; Feature Layer

Значение отраженного сигнала

NameОбъяснениеТип данных
out_raster

Выходной растр, содержащий значения ячеек, извлеченные из входного растра.

Raster

Пример кода

ExtractByMask, пример 1 (окно Python)

В этом примере из растра извлекаются ячейки в маске, определенной по входному классу полигональных объектов шейп-файлов.

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")
ExtractByMask, пример 2 (автономный скрипт)

В этом примере из растра извлекаются ячейки в маске, определенной по входному классу полигональных объектов шейп-файлов.

# 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"

# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)

# Save the output 
outExtractByMask.save("C:/sapyexamples/output/extractmask")

Информация о лицензиях

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

Связанные разделы