Доступно с лицензией Spatial Analyst.
Краткая информация
Извлекает ячейки растра по полигону.
Использование
Извлечение происходит по полигону, заданному во входном классе объектов, вместо задания серии координат x,y, в инструменте Извлечь по маске (Extract By Mask).
Для определения, попадает ячейка в полигон или за пределы полигона, используется центр ячейки. Если центр ячейки в пределах дуг, образующих полигон, ячейка считается полностью в пределах полигона, даже если часть ячейки попадает за пределы полигона.
В полигоне не должно быть более 1 000 вершин. Вершины полигона должны быть заданы в строгом порядке по часовой стрелке. Первая и последняя вершины должны совпадать, чтобы замыкать каждый полигон, если будет использоваться несколько полигонов. Если последние точки не идентичные, полигон будет замкнут автоматически. Дуги, образующие полигон, могут пересекаться, но спиралевидные полигоны использовать не рекомендуется.
Не выбранным ячейкам присваивается значение NoData.
Если в качестве входного указан многоканальный растр, на выходе будет создан новый многоканальный растр. Соответственно, будет анализироваться каждый канал входного многоканального растра.
Выходным форматом по умолчанию является растр базы геоданных. Если в качестве выходного формата указан Esri Grid stack, его название не должно начинаться с цифры, содержать пробелы и должно иметь длину не более девяти символов.
Если входные данные – это слой, созданный на основании многоканального растра, состоящего из более, чем трех каналов, в операции извлечения будут учитываться только те каналы, которые были загружены слоем (отображены символами). В результате выходной многоканальный растр может иметь лишь три канала – в соответствии с используемыми для входного слоя каналами.
Если входной растр целочисленный, выходной растр будет также целочисленным. Если входной растр с плавающей точкой, выходной растр также будет с плавающей точкой.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
ExtractByPolygon (in_raster, polygon, {extraction_area})
Параметр | Объяснение | Тип данных |
in_raster | Входной растр, ячейки которого извлекаются. | Raster Layer |
polygon [point,...] | Полигон (или полигоны), определяющий область извлечения входного растра. Каждый полигон – это список вершин, определенных точечными (Point) классами. Если необходимо, класс Polygon может быть использован для определения перечня частей полигона. Точки представляют собой пары координат x,y, заданных в тех же единицах карты, что и входной растр. Форма объекта:
Обратите внимание, что последняя координата должна быть такой же, как первая, чтобы полигон замкнулся. | Point |
extraction_area (дополнительно) | Определяет, будут ли извлечены ячейки внутри или снаружи полигона.
| String |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster | Выходной растр, содержащий значения ячеек, извлеченные из входного растра. | Raster |
Пример кода
ExtractByPoints, пример 1 (окно Python)
В этом примере из растра извлекаются ячейки на основе определенных координат полигона.
import arcpy
from arcpy import env
from arcpy.sa import *
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)]
env.workspace = "C:/sapyexamples/data"
extPolygonOut = ExtractByPolygon("soil", polyPoints, "INSIDE")
extPolygonOut.save("c:/sapyexamples/output/extpoly")
ExtractByPolygon, пример 2 (автономный скрипт)
В этом примере из растра извлекаются ячейки на основе определенных координат полигона.
# Name: ExtractByPolgyon_Ex_02.py
# Description: Extracts the cells of a raster based on a polygon.
# 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 = "soil"
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)]
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByPolygon
extPolygonOut = ExtractByPolygon(inRaster, polyPoints, "INSIDE")
# Save the output
extPolygonOut.save("c:/sapyexamples/output/extpoly02")
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Сжатие (Compression)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)