ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

按属性提取

需要 Spatial Analyst 许可。

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

基于逻辑查询提取栅格像元。

插图

按属性提取图示
OutRas = ExtractByAttributes(InRas1, "Value > 0")

用法

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

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

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

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

  • 如果 Where 子句的求值结果是 True,则将为该像元位置返回初始输入值。如果其求值结果是 False,则将为像元位置指定 NoData。

  • Where 子句使用 SQL 查询。有关在查询构建器中创建查询的详细信息,请参阅以下主题:

    • 构建查询表达式
    • 在 ArcGIS 中使用的查询表达式的 SQL 参考

  • 要在 Python 中使用 {where_clause},应以引号括起来。例如,"Value > 5000"。

    有关使用 Python 指定查询的详细信息,请参阅帮助。

  • 如果在查询中指定了除输入栅格的 Value 以外的某一项,则将为此像元位置返回初始输入值。

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

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

语法

ExtractByAttributes (in_raster, where_clause)
参数说明数据类型
in_raster

提取像元的输入栅格。

Raster Layer
where_clause

用于选择栅格像元子集的逻辑表达式。

表达式遵循 SQL 表达式的一般格式。where_clause 的一个示例为 "VALUE > 100"。

SQL Expression

返回值

名称说明数据类型
out_raster

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

Raster

代码示例

ExtractByAttributes 示例 1(Python 窗口)

本示例将基于逻辑查询从栅格中提取像元,其中高程大于 1,000 米。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
attExtract = ExtractByAttributes("elevation", "VALUE > 1000") 
attExtract.save("c:/sapyexamples/output/attextract")
ExtractByAttributes 示例 2(独立脚本)

本示例将基于逻辑查询从栅格中提取像元,其中高程大于 1,000 米。

# Name: ExtractByAttributes_Ex_02.py
# Description: Extracts the cells of a raster based on a logical query. 
# 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 = "elevation"
inSQLClause = "VALUE > 1000"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute ExtractByAttributes
attExtract = ExtractByAttributes(inRaster, inSQLClause) 

# Save the output 
attExtract.save("c:/sapyexamples/output/attextract02")

环境

  • 自动提交
  • 像元大小
  • 压缩
  • 当前工作空间
  • 范围
  • 地理变换
  • 掩膜
  • 输出配置关键字
  • 输出坐标系
  • 临时工作空间
  • 捕捉栅格
  • 切片大小

许可信息

  • ArcGIS Desktop Basic: 需要 Spatial Analyst
  • ArcGIS Desktop Standard: 需要 Spatial Analyst
  • ArcGIS Desktop Advanced: 需要 Spatial Analyst

相关主题

  • 提取分析工具集概述

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明