Извлечь по окружности (Extract by Circle) (Spatial Analyst)
Резюме
Извлекает ячейки растра по окружности.
Использование
-
Для определения, попадает ячейка в окружность или за пределы окружности, используется центр ячейки. Если центр ячейки в пределах дуг, образующих окружность, ячейка считается полностью в пределах окружности, даже если часть ячейки попадает за пределы этой окружности.
-
Ячейки, не попадающие в пределы окружности, в выходном растре получают значения NoData.
-
Если в качестве входных данных выбран многоканальный растр, выходной растр тоже будет многоканальным. Каждый отдельный канал входного многоканального растра будет проанализирован соответственно.
По умолчанию выходной формат – Esri Grid stack. Обратите внимание, что стек Esri Grid не может начинаться с цифры, использовать пробелы и быть более 9 символов в длину.
-
Если входные данные – это слой, созданный на основании многоканального растра, состоящего из более, чем трех каналов, в операции извлечения будут учитываться только те каналы, которые были загружены слоем (отображены символами). Следовательно, выходной многоканальный растр может состоять не более, чем из трех каналов, соответствующих тем, которые были использованы при отображении входного слоя.
-
Если входной растр целочисленный, выходной растр будет также целочисленным. Если входной растр с плавающей точкой, выходной растр также будет с плавающей точкой.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр, ячейки которого будут участвовать в операции извлечения. | Raster Layer |
center_point |
Класс Точка (Point) задает координату центра (x,y) круга, определяющую площадь извлечения. Форма класса:
Координаты задаются в тех же единицах карты, что и входной растр. | Point |
radius |
Радиус окружности, определяющей область извлечения. Радиус задается в единицах карты и должен быть в тех же единицах, что и входной растр. | Double |
extraction_area (дополнительно) |
Определяет, будут ли извлечены ячейки внутри или снаружи окружности.
| String |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр, содержащий значения ячеек, извлечённые из входного растра. | Raster |
Пример кода
В этом примере извлекаются ячейки в пределах 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")
В этом примере извлекаются ячейки в пределах 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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByCircle
outExtCircle = ExtractByCircle(inRaster, centerPoint, circRadius,
extractType)
# Save the output
outExtCircle.save("c:/sapyexamples/output/extcircle02")