Извлечь по полигону (Extract by Polygon) (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

Пример кода

Извлечь по полигону. Пример 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")
Извлечь по полигону. Пример 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
9/11/2013