Извлечь по прямоугольнику (Spatial Analyst)

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

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

Иллюстрация

Иллюстрация к инструменту Извлечь по прямоугольнику
OutRas = ExtractByRectangle(InRas1, Extent(1, 0, 5, 5), "INSIDE")

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

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

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

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

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

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

  • Не выбранным ячейкам присваивается значение NoData.

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

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

Параметры

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

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

Raster Layer
Экстент

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

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

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

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

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

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

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

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

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

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

Raster

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

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

Raster Layer
rectangle
extent

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

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

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

Extent
extraction_area
(Дополнительный)

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

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

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

ИмяОписаниеТип данных
out_raster

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

Raster

Пример кода

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

В этом примере извлекаются ячейки вне прямоугольного экстента в новый растр.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
rectExtract = ExtractByRectangle("elevation", 
                                 Extent(477625, 213900, 486400, 224200), 
                                 "OUTSIDE")
rectExtract.save("c:/sapyexamples/output/extrect")
ExtractByRectangle, пример 2 (автономный скрипт)

В этом примере извлекаются ячейки внутри прямоугольного экстента в новый растр.

# Name: ExtractByRectangle_Ex_02.py
# Description: 
# 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"
inRectangle = Extent(477625, 213900, 486400, 224200)

# Execute ExtractByRectangle
rectExtract = ExtractByRectangle(inRaster, inRectangle, "INSIDE")

# Save the output 
rectExtract.save("c:/sapyexamples/output/extrect02")