Извлечь по точкам (Extract by Points) (Spatial Analyst)
Резюме
Извлекает ячейки растра на основе набора координатных точек.
Использование
-
Ячейки, не попадающие в пределы окружности, в выходном растре получают значения NoData.
-
Если в качестве входных данных выбран многоканальный растр, выходной растр тоже будет многоканальным. Каждый отдельный канал входного многоканального растра будет проанализирован соответственно.
По умолчанию выходной формат – Esri Grid stack. Обратите внимание, что стек Esri Grid не может начинаться с цифры, использовать пробелы и быть более 9 символов в длину.
-
Если входные данные – это слой, созданный на основании многоканального растра, состоящего из более, чем трех каналов, в операции извлечения будут учитываться только те каналы, которые были загружены слоем (отображены символами). Следовательно, выходной многоканальный растр может состоять не более, чем из трех каналов, соответствующих тем, которые были использованы при отображении входного слоя.
-
Если входной растр целочисленный, выходной растр будет также целочисленным. Если входной растр с плавающей точкой, выходной растр также будет с плавающей точкой.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр, ячейки которого будут участвовать в операции извлечения. | Raster Layer |
points [point,...] |
В Python список объектов-точек обозначает местоположения, определяющие значения, которые будут извлечены из входного растра. Точечные объекты задаются в перечне пар координат x,y. Форма объекта:
Точки задаются в тех же единицах карты, что и входной растр (in_raster). | Point |
extraction_area (дополнительно) |
Определяет, нужно ли извлекать ячейки на основе заданных точек (внутри) или вне точек (снаружи) .
| String |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр, содержащий значения ячеек, извлечённые из входного растра. | Raster |
Пример кода
В этом примере из растра извлекаются ячейки на основе определенных координат точек.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
pointList = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
arcpy.Point(734500,4322000)]
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")
outPointExtract.save("c:/sapyexamples/output/pntextract")
В этом примере из растра извлекаются ячейки на основе определенных координат точек.
# Name: ExtractByPoints_Ex_02.py
# Description: Extracts the cells of a raster based on a set of points.
# 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"
pointList = [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 ExtractByPoints
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")
# Save the output
outPointExtract.save("c:/sapyexamples/output/pntext")