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

Уровень лицензии:BasicStandardAdvanced

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

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

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

Синтаксис

ExtractByPolygon (in_raster, polygon, {extraction_area})
ПараметрОбъяснениеТип данных
in_raster

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

Raster Layer
polygon
[point,...]

Полигон (или полигоны), определяющий область извлечения входного растра.

Каждый полигон – это перечень вершин, определенных точечными классами. Если необходимо, класс Полигон (Polygon) может быть использован для определения перечня частей полигона.

Точки задаются парами координат x,y. Форма объекта:

  • [[point(x1,y1), point(x2,y2), point(xn,yn), ..., point(x1,y1)], [point(x'1,y'1), point(x'2,y'2), point(x'n,y'n), ..., point(x'1,y'1)], ...]

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

Point
extraction_area
(дополнительно)

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

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

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

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

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

Raster

Пример кода

ExtractByPolygon Пример 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")

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Standard: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Advanced: Требует Дополнительный модуль Spatial Analyst
6/5/2014