ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

表比较

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

对两个表或表视图进行比较并返回比较结果。

使用方法

  • 此工具将返回显示比较结果的消息。默认情况下,此工具将在遇到第一个比较不匹配后停止执行。要报告所有差异,请选中继续比较参数。

  • 表比较可以对表格值和字段定义方面存在的异同进行报告。

  • 可以指定多个排序字段。输入基础表和输入测试表都根据指定的字段进行排序。先排序第一个字段,然后排序第二个字段,依此类推(以升序排列)。在基础表和测试表中均按共用字段进行排序,可确保对每个输入数据集中相同的行进行比较。

  • 默认情况下,比较类型设置为 ALL。这表示进行比较的表的所有属性都将被选中,包括字段属性和特性这些内容。但是,您可以选择其他比较类型,以便仅选中正在进行比较的表的特定属性。

  • 忽略选项提供了更大的灵活性,它允许在比较时忽略某些属性。这些属性包括扩展属性、子类型和关系类。

  • 如果忽略未包含在字段计数比较中的字段,则会忽略这些字段的字段定义和表格值。

  • 只能为数值字段类型指定属性容差。

  • 输出比较文件将包含输入基础表和输入测试表之间的所有异同点。该文件是一个以逗号分隔的文本文件,在 ArcGIS 中可以表的形式对其进行查看和使用。例如,可通过查询该表获得存在差异的所有行的所有 ObjectID 值。

  • 在 Python 中使用此工具时,可通过 result.getOutput(1) 获取此工具的状态。未检测到差异时将显示 'true' 值;检测到差异时将显示 'false' 值。

    了解有关在 Python 中使用工具的详细信息

语法

arcpy.management.TableCompare(in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
参数说明数据类型
in_base_table

将输入基础表与输入测试表进行比较。输入基础表是指已被声明为有效的表格数据。该基础数据具有正确的字段定义和属性值。

Table View; Raster Layer
in_test_table

将输入测试表与输入基础表进行比较。输入测试表是指已通过编辑或编译新的字段、新的记录或新的属性值而进行更改的数据。

Table View ; Raster Layer
sort_field
[sort_field,...]

用于在输入基础表和输入测试表中对记录进行排序的一个或多个字段。记录将以升序进行排序。在输入基础表与输入测试表中均按公用字段进行排序,可确保对每个输入数据集中相同的行进行比较。

Value Table
compare_type
(可选)

比较类型。默认设置为 ALL。该默认设置将对要比较的表中的所有属性进行比较。

  • ALL —比较所有属性。这是默认设置。
  • ATTRIBUTES_ONLY —仅比较属性及其值。
  • SCHEMA_ONLY —仅比较方案。
String
ignore_options
[ignore_options,...]
(可选)

不会对这些属性进行比较。

  • IGNORE_EXTENSION_PROPERTIES —不比较扩展属性。
  • IGNORE_SUBTYPES —不比较子类型。
  • IGNORE_RELATIONSHIPCLASSES —不比较关系类。
  • IGNORE_FIELDALIAS —不比较字段别名。
String
attribute_tolerances
[[Field, {Tolerance}],...]
(可选)

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

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

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

String
continue_compare
(可选)

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

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

该文件将包含 in_base_table 与 in_test_table 之间所有的异同处。该文件是一个以逗号分隔的文本文件,在 ArcGIS 中可以表的形式对其进行查看和使用。

File

派生输出

名称说明数据类型
compare_status

未检测到差异时比较状态将为 'true';检测到差异时比较状态将为 'false'。

布尔型

代码示例

TableCompare 示例 1(Python 窗口)

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

import arcpy
arcpy.TableCompare_management(
    r'c:\Workspace\wells.dbf', r'c:\Workspace\wells_new.dbf', 'WELL_ID', 
    'ALL', 'IGNORE_EXTENSION_PROPERTIES', 'WELL_DEPTH 0.001', '#', 
    'CONTINUE_COMPARE', r'C:\Workspace\well_compare.txt')
TableCompare 示例 2(独立脚本)

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

# Name: TableCompare.py
# Description: Compare two dBASE tables and return comparison result.
# import system modules 
import arcpy
# Set local variables
base_table= "C:/Workspace/wells.dbf"
test_table = "C:/Workspace/wells_new.dbf"
sort_field = "WELL_ID"
compare_type = "ALL"
ignore_option = "IGNORE_EXTENSION_PROPERTIES"
attribute_tolerance = "WELL_DEPTH 0.001"
omit_field = "#"
continue_compare = "CONTINUE_COMPARE"
compare_file = "C:/Workspace/well_compare.txt"
# Process: FeatureCompare
compare_result = arcpy.TableCompare_management(
    base_table, test_table, sort_field, compare_type, ignore_option, 
    attribute_tolerance, omit_field, continue_compare, compare_file)

环境

  • 当前工作空间

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题

  • 数据比较工具集概述

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明