条件测试 (Image Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

摘要

使用逻辑表达式对输入栅格执行布尔评估。

如果该表达式评估结果为真,则输出像元值为 1。 如果该表达式评估结果为假,则输出像元值为 0。

插图

“测试”图示
OutRas = Test(InRas1,"Value >= 2")

使用情况

  • 条件测试可通过 Where 子句中的 SQL 表达式进行指定。

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

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

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

  • 如果输入是多波段栅格,则输出也将为多波段栅格。 该工具将在输入中的每个波段上执行操作。

  • 如果输入是多维栅格数据,则将处理所有变量的所有切片。 输出将是 CRF 格式的多维栅格。

参数

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

基于逻辑表达式在其上执行布尔评估的输入栅格。

Raster Layer
Where 子句

用于确定哪些输入像元将返回“真”值 (1) 以及哪些输入像元将返回“假”值 (0) 的逻辑表达式。

Where 子句遵循 SQL 表达式的一般格式。 如果您单击编辑 SQL 模式按钮 SQL 查询,则可以直接输入,例如 VALUE > 100。 如果处于编辑子句模式 编辑子句 中,则可以通过单击添加子句模式按钮来开始构建表达式。

SQL Expression

返回值

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

输出栅格。

输出像元值为 0 或 1。

Raster

Test(in_raster, where_clause)
名称说明数据类型
in_raster

基于逻辑表达式在其上执行布尔评估的输入栅格。

Raster Layer
where_clause

用于确定哪些输入像元将返回“真”值 (1) 以及哪些输入像元将返回“假”值 (0) 的逻辑表达式。

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

SQL Expression

返回值

名称说明数据类型
out_raster

输出栅格。

输出像元值为 0 或 1。

Raster

代码示例

Test 示例 1(Python 窗口)

本示例使用 Where 子句对输入栅格执行布尔运算。

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outTest = Test("degs", "VALUE > 100")
outTest.save("C:/iapyexamples/output/outest.img")
Test 示例 2(独立脚本)

本示例使用 Where 子句对输入栅格执行布尔运算。

# Name: Test_Ex_02.py
# Description: Perform a Boolean evaluation of the input raster based
#              on a where clause
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster = "degs"
inWhereClause = "VALUE > 100"

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

# Execute Test
outTest = Test(inRaster, inWhereClause)

# Save the output 
outTest.save("C:/iapyexamples/output/outtest")

许可信息

  • Basic: 需要 Image Analyst 或 Spatial Analyst
  • Standard: 需要 Image Analyst 或 Spatial Analyst
  • Advanced: 需要 Image Analyst 或 Spatial Analyst

相关主题