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

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

Сводка

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

Иллюстрация

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

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

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

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

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

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

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

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

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

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

Синтаксис

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

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

Raster Layer
rectangle
extent

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

Экстент используется для определения координат.

Форма объекта:

  • Extent(XMin, YMin, XMax, YMax)

    , где XMin иYMin определяют левый нижний угол области извлечения, а XMax и YMax – правый верхний угол.

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

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

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

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

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

NameОбъяснениеТип данных
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")

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

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

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