要素比较 (数据管理)

摘要

比较两个要素类或图层并返回比较结果。要素比较可以对几何、表格值、空间参考和字段定义方面存在的差异进行报告。

用法

语法

FeatureCompare_management (in_base_features, in_test_features, sort_field, {compare_type}, {ignore_options}, {xy_tolerance}, {m_tolerance}, {z_tolerance}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
参数说明数据类型
in_base_features

将“输入基础要素”与“输入测试要素”进行比较。“输入基础要素”是指已声明有效的数据。该基础数据具有正确的几何定义、字段定义以及空间参考。

Feature Layer
in_test_features

将“输入测试要素”与“输入基础要素”进行比较。“输入测试要素”是指因编辑或编译新要素而被更改的数据。

Feature Layer
sort_field
[sort_field,...]

在“输入基础表”和“输入测试表”中排序记录时要使用的一个或多个字段。记录将以升序进行排序。在“输入基础要素”与“输入测试要素”中均使用公用字段进行排序,可确保正在对各输入数据集中相同的行进行比较。

Field
compare_type
(可选)

比较类型。默认设置为 ALL。使用该默认设置将对待比较的要素的所有属性进行比较。

  • ALL将比较要素类的所有属性。这是默认设置。
  • GEOMETRY_ONLY仅比较要素类的几何。
  • ATTRIBUTES_ONLY仅比较属性及属性值。
  • SCHEMA_ONLY仅比较要素类的方案。
  • SPATIAL_REFERENCE_ONLY仅比较两个要素类的空间参考。
String
ignore_options
[ignore_option,...]
(可选)

在比较过程中不会对以下属性进行比较。

  • IGNORE_M不比较测量属性。
  • IGNORE_Z不比较高程属性。
  • IGNORE_POINTID不比较点 id 属性。
  • IGNORE_EXTENSION_PROPERTIES不比较扩展属性。
  • IGNORE_SUBTYPES不比较子类型。
  • IGNORE_RELATIONSHIPCLASSES不比较关系类。
  • IGNORE_REPRESENTATIONCLASSES不比较表达类。
String
xy_tolerance
(可选)

落在此距离范围内的要素被视作相同。要使误差最小,所选的比较容差值应尽量小。默认情况下,比较容差就是输入基础要素的“XY 容差”。

Linear unit
m_tolerance
(可选)

测量容差是测量值间所允许的最小距离,如果两个测量值之间的距离在此范围内,它们会被视为相同。

Double
z_tolerance
(可选)

“Z 容差”是 Z 坐标间所允许的最小距离,如果两个坐标之间的距离在此范围内,它们会被视为同一坐标。

Double
attribute_tolerances
[[Field, {Tolerance}],...]
(可选)

在该数值范围内的属性值将被视作相同。它仅适用于数值字段类型。

Value Table
omit_field
[omit_field,...]
(可选)

在比较过程中将被忽略的一个或多个字段。这些字段的字段定义和表格值将被忽略。

String
continue_compare
(可选)

指示在遇到第一个不匹配项后是否继续比较所有属性。

  • NO_CONTINUE_COMPARE在遇到第一个不匹配项后停止比较。这是默认设置。
  • CONTINUE_COMPARE在遇到第一个不匹配项后继续比较其他属性。
Boolean
out_compare_file
(可选)

该文件将包含“输入基础要素”与“输入测试要素”之间所有的相似和存在差异之处。该文件是一个以逗号分隔的文本文件,在 ArcGIS 中可以表的形式对其进行查看和使用。

File

代码示例

FeatureCompare 工具示例(Python 窗口)

下面的 Python 窗口脚本演示了如何在即时模式下使用 FeatureCompare 函数。

import arcpy
arcpy.FeatureCompare_management(r'C:/Workspace/baseroads.shp', r'C:/Workspace/newroads.shp', 'ROAD_ID', 'ALL', 'IGNORE_M;IGNORE_Z', '0.001 METERS', 0, 0, 'Shape_Length 0.001', '#', 'CONTINUE_COMPARE', e = r'C:/Workspace/roadcompare.txt')
FeatureCompare 工具示例(独立脚本)

如何在独立脚本中使用 FeatureCompare 工具的示例。

# Name: FeatureCompare.py
# Description: Compare two feature classes and return comparison result.
# Author: ESRI

# import system modules 
import arcpy

try:
    # Set local variables
    base_features = "C:/Workspace/baseroads.shp"
    test_features = "C:/Workspace/newroads.shp"
    sort_field = "ROAD_ID"
    compare_type = "ALL"
    ignore_option = "IGNORE_M;IGNORE_Z"
    xy_tolerance = "0.001 METERS"
    m_tolerance = 0
    z_tolerance = 0
    attribute_tolerance = "Shape_Length 0.001"
    omit_field = "#"
    continue_compare = "CONTINUE_COMPARE"
    compare_file = "C:/Workspace/roadcompare.txt"
 
    # Process: FeatureCompare
    compare_result = arcpy.FeatureCompare_management(base_features, test_features, sort_field, compare_type, ignore_option, xy_tolerance, m_tolerance, z_tolerance, attribute_tolerance, omit_field, continue_compare, compare_file)
    print compare_result
    print arcpy.GetMessages()
 
except:
    # Print error message if an error occurs
    print arcpy.GetMessages()

环境

此工具不使用任何地理处理环境

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012