需要 Spatial Analyst 许可。
摘要
对两个输入栅格的像元值执行“布尔异或”运算。
如果一个输入值为真(非零)而另一个为假(零),则输出为 1。如果两个输入值都为真或两个输入值都为假,则输出为 0。
插图
用法
布尔数学工具会将输入值视为布尔值,其中非零值将视作“真”,零将视作“假”。
要进行该布尔评估,需要两个输入值。
使用此工具时输入的顺序不重要。
如果输入值为浮点型,则它们将在执行操作前被转换为整型值 0 或 1。如果输入值为浮点型值 0.0,则该值会被转换为整型值 0。如果输入值为任意非 0.0 的值,则将被转换为整型值 1。例如,浮点型输入值 0.6、32.22 和 -4.2 都会被视为 1。输出值始终为整型。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
BooleanXOr (in_raster_or_constant1, in_raster_or_constant2)
参数 | 说明 | 数据类型 |
in_raster_or_constant1 | 布尔运算中要使用的第一个输入。 假如已为其他参数指定栅格,则可将数字用作此参数的输入。为了能够为两个输入指定数字,像元大小和范围必须先在环境中进行设置。 | Raster Layer | Constant |
in_raster_or_constant2 | 布尔运算中要使用的第二个输入。 假如已为其他参数指定栅格,则可将数字用作此参数的输入。为了能够为两个输入指定数字,像元大小和范围必须先在环境中进行设置。 | Raster Layer | Constant |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出栅格。 输出值为 0 或 1。 | Raster |
代码示例
布尔异或 (BooleanXOr) 示例 1(Python 窗口)
本例对两个 Grid 栅格执行“布尔异或”运算,并输出 TIFF 栅格。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBooleanXOr = BooleanXOr("degs", "negs")
outBooleanXOr.save("C:/sapyexamples/output/outboolxor.tif")
布尔异或 (BooleanXOr) 示例 2(独立脚本)
本例对两个 Grid 栅格执行“布尔异或”运算。
# Name: BooleanXOr_Ex_02.py
# Description: Performs a Boolean Exclusive Or operation on the
# cell values of two input rasters
# 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
inRaster1 = "degs"
inRaster2 = "negs"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute BooleanXOr
outBooleanXOr = BooleanXOr(inRaster1, inRaster2)
# Save the output
outBooleanXOr.save("C:/sapyexamples/output/outboolxor")
环境
许可信息
- ArcGIS for Desktop Basic: 需要 Spatial Analyst
- ArcGIS for Desktop Standard: 需要 Spatial Analyst
- ArcGIS for Desktop Advanced: 需要 Spatial Analyst