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

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

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

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

Иллюстрация

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

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

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

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

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

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

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

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

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

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

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

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

  • Вы можете использовать инструмент Экстент анализа (analysis_extent в Python), чтобы точно указать выходную область анализа для отдельного инструмента или перезаписать установку в параметре среды в шаге рабочего процесса. Вы можете задать экстент, введя значения, выбрав экстент по отображаемой области, указать слой или входной набор данных.

  • По умолчанию Экстент анализа вычисляется на основе пересечения экстентов Входного растра и Входных векторных или растровых данных маски.

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

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

Параметры

ПодписьОписаниеТип данных
Входной растр

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

Raster Layer
Входные векторные или растровые данные маски

Входная маска, определяющая местоположения ячеек для извлечения.

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

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

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

Raster Layer; Feature Layer
Область извлечения
(Дополнительный)

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

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

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

По умолчанию экстент вычисляется на основе пересечения экстентов Входного растра и Входных векторных или растровых данных маски. Обработка будет выполняться до границ по x и y, и ячейками вне этого экстента будет присвоено значение NoData.

Координаты задаются в тех же единицах карты, что и входной растр, если иное не задано параметрах среды анализа.

  • Текущий экстент отображения Вид карты - экстент будет основан на активной карте или сцене.
  • Нарисовать экстент Закончить прямым углом - экстент будет основан прямоугольнике, нарисованном на карте или сцене.
  • Экстент слоя Слой - экстент будет основан на активном слое карты. Выберите доступный слой или воспользуйтесь опцией Экстент данных во всех слоях. У каждого слоя карте есть следующие опции:

    • Все объекты Выбрать все - экстент всех объектов.
    • Выбранные объекты Область из выбранных объектов - экстент выбранных объектов.
    • Отображаемые объекты Extent Indicator - экстент отображаемых объектов.

  • Обзор Обзор - экстент будет основан на наборе данных.
  • Буфер обмена Вставить - экстент может быть скопирован в буфер обмена и из него.
    • Копировать экстент Копировать - копирует экстент и систему координат в буфер обмена.
    • Вставить экстент Вставить - вставляет экстент и систему координат из буфера обмена. Если буфер обмена не содержат систему координат, экстент будет использовать систему координат карты.
  • Сбросить экстент Сбросить - экстент будет сброшен до значения по умолчанию.

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

Extent

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

ПодписьОписаниеТип данных
Выходной растр

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

Raster

ExtractByMask(in_raster, in_mask_data, {extraction_area}, {analysis_extent})
ИмяОписаниеТип данных
in_raster

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

Raster Layer
in_mask_data

Входная маска, определяющая местоположения ячеек для извлечения.

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

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

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

Raster Layer; Feature Layer
extraction_area
(Дополнительный)

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

  • INSIDEЯчейки в границах, задаваемых входной маской, будут выбраны и сохранены в выходной растр. Все ячейки, вне границ, определяемых маской, получат значения NoData в выходном растре. Эта опция используется по умолчанию.
  • OUTSIDEЯчейки вне границ, задаваемых входной маской, будут выбраны и сохранены в выходной растр. Всем ячейкам, расположенным внутри границ маски, будут присвоены значения NoData.
String
analysis_extent
(Дополнительный)

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

Если не указан, экстент по умолчанию представляет собой пересечение значений in_raster и in_mask_data

Координаты задаются в тех же единицах карты, что и входной растр, если иное не задано параметрах среды анализа.

  • MAXOF – Будет использоваться максимальный экстент всех входных данных.
  • MINOF – Будет использоваться минимальная область, которая является общей для всех входных данных.
  • DISPLAY — Экстент равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent — будет использоваться экстент указанного объекта.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent

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

ИмяОписаниеТип данных
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", "INSIDE")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
ExtractByMask, пример 2 (автономный скрипт)

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

# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a elevation raster for all areas outside of the mask features.
#     Keeping the output extent of the input elevation raster. 
# 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"
extraction_area = "OUTSIDE"
analysis_extent = "elevation"


# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData, extraction_area, analysis_extent)

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

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

  • Basic: Обязательно Spatial Analyst
  • Standard: Обязательно Spatial Analyst
  • Advanced: Обязательно Spatial Analyst

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