需要 Spatial Analyst 许可。
摘要
使用逻辑表达式对输入栅格执行布尔评估。
如果该表达式评估结果为真,则输出像元值为 1。如果该表达式评估结果为假,则输出像元值为 0。
插图
用法
条件测试可通过 Where 子句中的 SQL 表达式进行指定。
Where 子句使用 SQL 查询。有关在查询构建器中创建查询的详细信息,请参阅以下主题:
要在 Python 中使用 {where_clause},应以引号括起来。例如,"Value > 5000"。
有关使用 Python 指定查询的详细信息,请参阅帮助。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
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.sa import *
env.workspace = "C:/sapyexamples/data"
outTest = Test("degs", "VALUE > 100")
outTest.save("C:/sapyexamples/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: 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 = "degs"
inWhereClause = "VALUE > 100"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Test
outTest = Test(inRaster, inWhereClause)
# Save the output
outTest.save("C:/sapyexamples/output/outtest")
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst