Извлечь по маске (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), чтобы явно указать область выходного анализа для автономной операции инструмента или переопределить параметр среды как часть рабочего процесса. Вы можете задать экстент, указав значения, выбрав экстент отображения, выбрав слой или указав входной набор данных.

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

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Текущий экстент отображения Вид карты — Экстент будет основан на активной карте или сцене. Эта опция доступна только при наличии активной карты.
  • Экстент слоя Слой — Экстент будет основан на активном слое карты. Используйте раскрывающийся список, чтобы выбрать доступный слой, или используйте опцию Экстент данных во всех слоях, чтобы получить объединенный экстент всех активных слоев карты, за исключением базовой карты. Эта опция доступна только при наличии активной карты со слоями.
  • Обзор Обзор — Экстент будет основан на существующем наборе данных.
  • Сбросить экстент Сбросить — Экстент будет сброшен до значения по умолчанию.
  • Координаты, введенные вручную – Координаты должны быть числовыми значениями и находиться в системе координат активной карты.

    На карте могут использоваться разные единицы отображения

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-мин, y-мин, x-макс, y-макс.
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

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