Извлечь по окружности (Spatial Analyst)

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

Сводка

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

Иллюстрация

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

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

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

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

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

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

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

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

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

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

Синтаксис

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

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

Raster Layer
center_point

Точечный класс (Point) задает координату центра (x,y) круга, определяющего извлекаемую область.

Форма класса:

  • Point (x, y)

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

Point
radius

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

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

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

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

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

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

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

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

Raster

Пример кода

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

В этом примере извлекаются ячейки в пределах 500-метрового радиуса вокруг точки.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtCircle = ExtractByCircle("elevation", arcpy.Point(482838.823, 222128.982),
                                500, "INSIDE")
outExtCircle.save("c:/sapyexamples/output/extcircle")
ExtractByCircle, пример 2 (автономный скрипт)

В этом примере извлекаются ячейки в пределах 1000-метрового радиуса вокруг точки.

# Name: ExtractByCircle_Ex_02.py
# Description: Extracts the cells of a raster based on a circle.
# 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")
centerPoint = arcpy.Point(482838.823, 222128.982)
circRadius = 1000
extractType = "INSIDE"

# Execute ExtractByCircle
outExtCircle = ExtractByCircle(inRaster, centerPoint, circRadius, 
                               extractType)

# Save the output 
outExtCircle.save("c:/sapyexamples/output/extcircle02")

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

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

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