描述
比较两个栅格或镶嵌数据集的属性。
使用
- 此工具可返回显示比较结果的信息。 
- 参数和属性容差允许比较结果存在指定量的偏差。 
语法
RasterCompare(in_base_raster, in_test_raster, {compare_type}, {ignore_option}, {continue_compare}, {out_compare_file}, {parameter_tolerances}, {attribute_tolerances}, {omit_field})| 参数 | 说明 | 数据类型 | 
| in_base_raster | 要比较的第一个栅格或镶嵌数据集。 | Raster Layer; Mosaic Layer | 
| in_test_raster | 要与第一个栅格或镶嵌数据集进行比较的第二个栅格或镶嵌数据集。 | Raster Layer; Mosaic Layer | 
| compare_type (可选) | 要比较的栅格类型。 
 | String | 
| ignore_option [ignore_option,...] (可选) | 您不希望包含在比较中的属性。 要确定属性的完整列表,请打开工具对话框并查看忽略选项参数值的列表。对比类型将决定忽略选项的有效选项。 
 | String | 
| continue_compare (可选) | 遇见不匹配时,停止比较。 
 | Boolean | 
| out_compare_file (可选) | 创建包含比较结果的文本文件。 | File | 
| parameter_tolerances [[Parameter, Tolerance, Type],...] (可选) | 灵活比较参数准确度。可以对所有参数使用相同的容差,也可以向各个参数应用不同的容差。 容差类型可以为值,也可以为小数部分。例如,若基础值为 100,小数部分容差为 0.00001,则比较容差在 100 * 0.001 (100 * 0.00001) 范围内。 | Value Table | 
| attribute_tolerances [[Field, Tolerance],...] (可选) | 您希望进行比较以查看其是否处于容差范围内的字段。容差值的单位为属性的单位。 | Value Table | 
| omit_field [omit_field,...] (可选) | 在比较过程中将被忽略的一个或多个字段。 | String | 
派生输出
| 名称 | 说明 | 数据类型 | 
| compare_status | 未检测到差异时比较状态将为 'true';检测到差异时比较状态将为 'false'。 | 布尔型 | 
代码示例
RasterCompare 示例 1(Python 窗口)
这是 RasterCompare 工具的 Python 示例。
import arcpy
RasterCompare_management("C:/workspace/image1.tif","C:/workspace/image2.tif",\
                         "RASTER_DATASET","'Pyramids Exist'",\
                         "CONTINUE_COMPARE","C:/workspace/compare01.txt",\
                         "Pixel_Value 1 Value","Count 5","OID")
RasterCompare 示例 2(独立脚本)
这是 RasterCompare 工具的 Python 示例。
##====================================
##Raster Compare
##Usage: RasterCompare_management in_base_raster in_test_raster {RASTER_DATASET |
##                                GDB_RASTER_DATASET | GDB_RASTER_CATALOG |
##                                MOSAIC_DATASET} {ignore_option;ignore_option...}
##                                {NO_CONTINUE_COMPARE | CONTINUE_COMPARE} 
##                                {out_compare_file} {Parameter {Tolerance} {Type};
##                                Parameter {Tolerance} {Type}...} {Field {Tolerance};
##                                Field {Tolerance}...} {omit_field;omit_field...} 
    
    
try:
    import arcpy
    
    arcpy.env.workspace = "c:/workspace"
    
    ##Compare two Raster dataset
    arcpy.RasterCompare_management("raster_base.tif","raster_test.tif","RASTER_DATASET",\
                                   "","CONTINUE_COMPARE","compareresult.txt","","","")
    
    ##Compare two Raster Catalog with ignore options
    arcpy.RasterCompare_management("fgdb.gdb/rc_base","fgdb.gdb/rc_test","RASTER_CATALOG",\
                                   "IsManaged;Extent","CONTINUE_COMPARE","compareresult2.txt",\
                                   "","","DATE")
    
    ##Compare two Mosaic Dataset with torelance
    arcpy.RasterCompare_management("fgdb.gdb/md_base","fgdb.gdb/md_test","MOSAIC_DATASET",\
                                   "IsEmbedded;Seamline","CONTINUE_COMPARE","compareresult3.txt",\
                                   "All 0.00001 Fraction","HighPS 0.0001;LowPS 0.0001",\
                                   "ItemTS;UriHash")
    
except:
    print "Raster Compare exsample failed."
    print arcpy.GetMessages()
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是