需要 Spatial Analyst 许可。
获得 Image Analyst 许可后可用。
描述
对两个输入栅格的像元值执行“布尔异或”运算。
如果一个输入值为真(非零),而另一个输入值为假(零),则输出值为 1。如果两个输入值都为真或都为假,则输出值为 0。
插图
使用方法
布尔数学工具会将输入值视为布尔值,其中非零值将视作“真”,零将视作“假”。
要进行该布尔评估,需要两个输入值。
使用此工具时输入的顺序不重要。
如果输入值为浮点型,则它们将在执行运算前被转换为整型值 0 或 1。如果输入值为浮点型值 0.0,则该值会被转换为整型值 0。如果输入值为非 0.0 的任意值,则该值会被转换为整数值 1。例如,浮点型输入值 0.6、32.22 和 -4.2 都将被视为 1。输出值始终是整数。
如果两个输入都是单波段栅格,或者输入之一是常量,则输出将是单波段栅格。
如果两个输入都是多波段栅格,或者输入之一是常量,则输出将是多波段栅格。每个多波段输入中的波段数必须相同。
该工具将在一个输入的每个波段上针对另一输入的相应波段执行操作。如果输入之一是多波段栅格,而另一个输入是常量,则该工具将针对多波段输入中每个波段的常量值执行操作。
语法
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 |
代码示例
本例对两个 Grid 栅格执行布尔异或运算,并输出 TIFF 栅格。
import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outBooleanXOr = BooleanXOr("degs", "negs")
outBooleanXOr.save("C:/iapyexamples/output/outboolxor.tif")
本例对两个 Grid 栅格执行布尔异或运算。
# Name: BooleanXOr_Ex_02.py
# Description: Performs a Boolean Exclusive Or operation on the
# pixel values of two input rasters
# 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
inRaster1 = "degs"
inRaster2 = "negs"
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute BooleanXOr
outBooleanXOr = BooleanXOr(inRaster1, inRaster2)
# Save the output
outBooleanXOr.save("C:/iapyexamples/output/outboolxor")
许可信息
- Basic: 需要 Image Analyst 或 Spatial Analyst
- Standard: 需要 Image Analyst 或 Spatial Analyst
- Advanced: 需要 Image Analyst 或 Spatial Analyst