栅格比较 (Data Management)
摘要
比较两个栅格数据集、两个栅格目录或两个镶嵌数据集的属性,然后返回比较结果。
用法
-
此工具可返回显示比较结果的信息。
-
参数和属性容差允许比较结果存在指定量的偏差。
对于 Python 语法,您需要打开工具对话框来查看有关忽略选项参数值的列表。您的对比类型将决定哪种忽略选项有效。
语法
参数 | 说明 | 数据类型 |
in_base_raster |
要与测试栅格进行比较的输入栅格。 有效输入包括栅格数据集、栅格目录或镶嵌数据集。 | Raster Layer; Raster Catalog Layer; Mosaic Layer |
in_test_raster |
要与输入基础栅格进行比较的测试栅格。 有效输入包括栅格数据集、栅格目录或镶嵌数据集。 | Raster Layer; Raster Catalog 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.00001 = 0.001
| Value Table |
attribute_tolerances [[Field, Tolerance],...] (可选) |
“属性容差”允许比较属性值时存在一定的精度偏差。这样就可以对处理数据过程中产生的任何细微变动作出解释。 针对每个您允许有容差的参数输入字段名及容差值。此容差值为实际容差值,不是部分容差值。 | Value Table |
omit_field [omit_field,...] (可选) |
这些是您希望在比较结果中“忽略”的字段。输入要在比较中忽略的字段。 在处理栅格目录过程中,比较的是栅格目录的属性列,而不是目录项中的属性。 | String |
代码实例
这是 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 的 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()