Raster Compare (Data Management)

Summary

Compares the properties of two raster or mosaic datasets.

Usage

  • The tool returns messages showing the comparison result.

  • The parameter and attribute tolerances allow your comparisons to have a specified amount of deviation.

Syntax

arcpy.management.RasterCompare(in_base_raster, in_test_raster, {compare_type}, {ignore_option}, {continue_compare}, {out_compare_file}, {parameter_tolerances}, {attribute_tolerances}, {omit_field})
ParameterExplanationData Type
in_base_raster

The first raster or mosaic dataset to compare.

Raster Layer; Mosaic Layer
in_test_raster

The second raster or mosaic dataset to compare with the first.

Raster Layer; Mosaic Layer
compare_type
(Optional)

The type of raster to be compared.

  • RASTER_DATASETCompare two raster datasets.
  • GDB_RASTER_DATASETCompare two raster datasets in a geodatabase.
  • MOSAIC_DATASETCompare two mosaic datasets.
String
ignore_option
[ignore_option,...]
(Optional)

The properties you do not want to include in the comparison.

To determine the full list of properties, open the tool dialog box and view the list of values for the Ignore Options parameter. The Compare Type will determine which Ignore Options are valid.

  • BandCountIgnore the number of bands.
  • ExtentIgnore the extent.
  • Columns And RowsIgnore the number of columns and rows.
  • Pixel TypeIgnore the pixel type.
  • NoDataIgnore the NoData value.
  • Spatial ReferenceIgnore the spatial reference system.
  • Pixel ValueIgnore the pixel values.
  • ColormapIgnore if a color map exists.
  • Raster Attribute TableIgnore if an attribute table exists.
  • StatisticsIgnore the statistics.
  • MetadataIgnore any metadata.
  • Pyramids ExistIgnore if pyramids exist.
  • Compression TypeIgnore the compression type.
String
continue_compare
(Optional)

When a mismatch is encountered, stop the comparison.

  • NO_CONTINUE_COMPAREStop comparing upon the discovery of a mismatch. This is the default.
  • CONTINUE_COMPAREContinue comparing the raster datasets if a mismatch is found.
Boolean
out_compare_file
(Optional)

Create a text file containing the comparison results.

File
parameter_tolerances
[[Parameter, Tolerance, Type],...]
(Optional)

Incorporate some flexibility when comparing parameter accuracy. The same tolerance can be applied for all parameters, or different tolerances can be applied to individual parameters.

The tolerance type can be set as either a value or a fraction. For example, if the base value is 100 and a fraction tolerance is set to 0.00001, the compare tolerance will be within 100 * 0.001 (100 * 0.00001).

Value Table
attribute_tolerances
[[Field, Tolerance],...]
(Optional)

The fields you want to compare to see if they are within a tolerance. The tolerance value is a value in the units of the attribute.

Value Table
omit_field
[omit_field,...]
(Optional)

The field or fields that will be omitted during comparison.

String

Derived Output

NameExplanationData Type
compare_status

The compare status will be 'true' when no differences are found and 'false' when differences are detected.

Boolean

Code sample

RasterCompare example 1 (Python window)

This is a Python sample for the RasterCompare tool.

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 example 2 (stand-alone script)

This is a Python sample for the RasterCompare tool.

##====================================
##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()

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics