按点提取 (空间分析)

需要 Spatial Analyst 许可。

摘要

基于一组坐标点提取栅格的像元。

旧版本:

此工具已弃用,并将从未来的版本中移除。

按掩膜提取工具提供了增强的功能或性能。

插图

按点提取图示
OutRas = ExtractByPoints(InRas1, [Point(1.5,0.5),Point(1.5,4.5),Point(4.5,4.5),Point(4.5,0.5)], "INSIDE")

使用情况

  • 输入栅格中的其他属性(若有的话)将按照原样添加到输出栅格属性表。 根据所记录的属性,某些属性值可能需要重新计算。

  • 将多波段栅格指定为输入栅格(Python 中的 in_raster)值时,将使用所有波段。

    要处理一系列来自多波段栅格的波段,请首先使用波段合成工具创建由这些特定波段组成的栅格数据集。 然后将结果用作输入栅格(Python 中的 in_raster)值。

    默认输出格式为地理数据库栅格。 如果将 Esri 格网堆栈指定为输出格式,则堆栈的名称不能以数字开头、不能使用空格且长度不得超过九个字符。

  • 将为未选择的像元位置分配一个 NoData 值。

  • 如果输入栅格为整型,那么输出栅格也为整型。 如果输入为浮点型,则输出也将为浮点型。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入栅格

从中提取像元的输入栅格。

Raster Layer
输入点

要提取栅格值的点。

指定为 x,y 坐标对的点所使用的地图单位与输入栅格相同。

Point
提取区域
(可选)

标识是基于指定点位置(内部)提取像元还是基于点位置外部(外部)提取像元。

  • 内部将所选点落入的像元写入输出栅格。 方框区域外部的所有像元都将在输出栅格中获得 NoData 值。
  • 外部应选择输入点外部的像元并将其写入输出栅格。
String

返回值

标注说明数据类型
输出栅格

包含从输入栅格中提取的像元值的输出栅格。

Raster

ExtractByPoints(in_raster, points, {extraction_area})
名称说明数据类型
in_raster

从中提取像元的输入栅格。

Raster Layer
points
[point,...]

Point 类对象的 Python 列表用于指示要提取栅格值的位置。

在 x,y 坐标对列表中指定的点对象所使用的地图单位与输入栅格相同。

对象形式为:

  • [point(x1,y1), point(x2,y2),...]
Point
extraction_area
(可选)

标识是基于指定点位置(内部)提取像元还是基于点位置外部(外部)提取像元。

  • INSIDE将所选点落入的像元写入输出栅格。 方框区域外部的所有像元都将在输出栅格中获得 NoData 值。
  • OUTSIDE应选择输入点外部的像元并将其写入输出栅格。
String

返回值

名称说明数据类型
out_raster

包含从输入栅格中提取的像元值的输出栅格。

Raster

代码示例

ExtractByPoints 示例 1(Python 窗口)

本示例将基于指定点坐标提取栅格的像元。

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")
ExtractByPoints 示例 2(独立脚本)

本示例将基于指定点坐标提取栅格的像元。

# 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)]

# Execute ExtractByPoints
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")

# Save the output 
outPointExtract.save("c:/sapyexamples/output/pntext")