栅格比较 (数据管理)

描述

比较两个栅格或镶嵌数据集的属性。

使用方法

  • 此工具可返回显示比较结果的信息。

  • 参数和属性容差允许比较结果存在指定量的偏差。

语法

arcpy.management.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
(可选)

要比较的栅格类型。

  • RASTER_DATASET比较两个栅格数据集。
  • GDB_RASTER_DATASET比较地理数据库中的两个栅格数据集。
  • MOSAIC_DATASET比较两个镶嵌数据集。
String
ignore_option
[ignore_option,...]
(可选)

您不希望包含在比较中的属性。

要确定属性的完整列表,请打开工具对话框并查看忽略选项参数值的列表。对比类型将决定忽略选项的有效选项。

  • BandCount忽略波段数。
  • Extent忽略范围。
  • Columns And Rows忽略列数和行数。
  • Pixel Type忽略像素类型。
  • NoData忽略 NoData 值。
  • Spatial Reference忽略空间参考系统。
  • Pixel Value忽略像素值。
  • Colormap忽略是否存在色彩映射表。
  • Raster Attribute Table忽略是否存在属性表。
  • Statistics忽略统计数据。
  • Metadata忽略任何元数据。
  • Pyramids Exist忽略是否存在金字塔。
  • Compression Type忽略压缩类型。
String
continue_compare
(可选)

遇见不匹配时,停止比较。

  • NO_CONTINUE_COMPARE一旦发现不匹配立即停止比较。这是默认设置。
  • 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: 是

相关主题