ArcGIS for Desktop

  • 文档
  • 合约
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

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

ArcGIS for Desktop

全面的专业性 GIS

ArcGIS for Server

面向企业的 GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

设为空函数

需要 Spatial Analyst 许可。

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

摘要

“设为空函数”根据指定条件将所识别的像元位置设置为 NoData。如果条件评估为真,则返回 NoData;如果条件评估为假,则返回由另一个栅格指定的值。

了解有关使用“设为空函数”将像元值设置为 NoData 的详细信息

插图

Set Null illustration
OutRas = SetNull(InRas1, InRas2, "Value = 4")

用法

  • 如果 where 子句的评估结果为真,则为输出栅格上的像元位置赋予 NoData。如果评估结果为假,则输出栅格将由输入条件为假时所取的栅格数据或常量值进行定义。

  • 如果未指定 where 子句,则只要条件栅格不为 0,输出栅格就具有 NoData。

  • 输入条件栅格不会影响输出数据类型是整型还是浮点型。如果输入条件为假时所取的栅格数据(或常量值)包含浮点值,则输出栅格数据将为浮点型。如果其中包含所有整数值,则输出将为整型栅格。

  • 表达式使用 SQL 查询。有关在查询构建器中创建查询的更多详细信息,请参阅以下主题:

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

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

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

  • 逻辑表达式的最大长度为 4,096 个字符。

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

语法

SetNull (in_conditional_raster, in_false_raster_or_constant, {where_clause})
参数说明数据类型
in_conditional_raster

表示所需条件结果为真或假的输入栅格。

可以是整型或浮点型。

Raster Layer
in_false_raster_or_constant

条件为假时,其值作为输出像元值的输入。

可为整型或浮点型栅格,或为常数值。

Raster Layer | Constant
where_clause
(可选)

决定输入像元为真或假的逻辑表达式。

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

SQL Expression

返回值

名称说明数据类型
out_raster

输出栅格。

如果条件评估为真,则返回 NoData。如果为假,则返回第二个输入栅格的值。

Raster

代码示例

SetNull 示例 1(Python 窗口)

在此示例中,将输出栅格中值小于 0 的输入像元设置为 NoData,而其余像元则保持原始值。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outSetNull = SetNull("elevation", "elevation", "VALUE < 0")
outSetNull.save("C:/sapyexamples/output/outsetnull.img")
SetNull 示例 2(独立脚本)

在此示例中,将输出中值不等于 7 的输入像元设置为 NoData,将值等于 7 的输入像元设置为值 1。

# Name: SetNull_Ex_02.py
# Description: Returns NoData if a conditional evaluation is 
#              true and returns the value specified by another
#              raster if it is false, on a cell-by-cell basis.
# 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 = "landclass"
inFalseRaster = 1
whereClause = "VALUE <> 7"

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

# Execute SetNull
outSetNull = SetNull(inRaster, inFalseRaster, whereClause)

# Save the output 
outSetNull.save("C:/sapyexamples/output/outsetnull")

环境

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

许可信息

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

相关主题

  • 条件分析工具集概述

ArcGIS for Desktop

  • 主页
  • 文档
  • 合约
  • 支持

ArcGIS 平台

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

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明