テーブル比較(Table Compare) (データの管理)
サマリ
2 つのテーブルおよびテーブル ビューを比較して、比較結果を返します。このツールは、テーブル値とフィールド定義の相違点をレポートできます。
使用法
-
このツールは、比較結果を示すメッセージを返します。デフォルトで、最初の不一致が検出されるとこのツールは実行を停止します。相違点をすべて報告する場合は、比較続行のオプションを true に設定します。
-
複数のソート フィールドを指定できます。指定するフィールドに基づいて、[入力ベース テーブル] および [入力テスト テーブル] が並べ替えられます。最初のフィールドが並べ替えられたら、2 番目のフィールドが並べ替えられ、以降、昇順で並べ替えが行われます。ベース テーブルとテスト テーブルの両方にある共通フィールドで並べ替えることにより、各入力データセットの同じ行を比較することができます。
-
デフォルトでは、比較タイプは「ALL」に設定されます。つまり、フィールドのプロパティや属性などを含め、比較されるテーブルのすべてのプロパティがオンになります。ただし、比較するテーブルの特定のプロパティだけをオンにする、別の比較タイプを選択することもできます。
-
[比較対象外のプロパティ] は、比較からプロパティを除外する柔軟性を提供します。これらのプロパティには、エクステンション プロパティ、サブタイプ、およびリレーションシップ クラスが含まれます。
-
フィールド数の比較に含まれていないフィールドを除外すると、これらのフィールドのフィールド定義とテーブル値は無視されます。
-
属性許容値は、数値フィールド タイプにのみ指定できます。
-
[出力比較ファイル] には、[入力ベース テーブル] および [入力テスト テーブル] の間のすべての類似点と相違点が含まれます。このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。たとえば、このテーブルを検索して、差異のあるすべての行のすべての ObjectID 値を取得できます。
-
この比較ツールの結果オブジェクトは、相違点がなければ「true」、相違点が見つかれば「false」になります。
構文
パラメータ | 説明 | データ タイプ |
in_base_table |
[入力ベース テーブル] が [入力テスト テーブル] と比較されます。[入力ベース テーブル] には、正しい表形式データを参照します。このベース データには、正しいフィールド定義と属性値が含まれています。 | Table View; Raster Layer |
in_test_table |
[入力テスト テーブル] が [入力ベース テーブル] と比較されます。[入力テスト テーブル] は、新しいフィールド、レコード、または属性値を編集またはコンパイルすることにより、変更したデータを参照します。 | Table View ; Raster Layer |
sort_field [sort_field,...] |
[入力ベース テーブル] および [入力テスト テーブル] でレコードを並べ替えるために使用されるフィールド。レコードは昇順で並べ替えられます。[入力ベース テーブル] および [入力テスト テーブル] の両方にある共通フィールドで並べ替えることにより、各入力データセットの同じ行を比較することができます。 | Value Table |
compare_type (オプション) |
比較タイプ。「ALL」がデフォルトです。デフォルトを使用すると、比較対象テーブルのすべてのプロパティが比較されます。
| String |
ignore_options (オプション) |
これらのプロパティは、比較時に比較されません。
| String |
attribute_tolerances [[Field, {Tolerance}],...] (オプション) |
属性値が等しいと考えられる範囲を決める数値。これは数値フィールド タイプにのみ適用されます。 | Value Table |
omit_field [omit_field,...] (オプション) |
比較時に除外されるフィールド。これらのフィールドのフィールド定義とテーブル値は無視されます。 | String |
continue_compare (オプション) |
最初の不一致を検出した後にすべてのプロパティを比較するかどうかを示します。
| Boolean |
out_compare_file (オプション) |
このファイルには、[入力ベース テーブル] および [入力テスト テーブル] の間のすべての類似点と相違点が含まれます。このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。 | File |
コードのサンプル
次の Python ウィンドウ スクリプトは、TableCompare(テーブル比較)関数をイミディエイト モードで使用する方法を、例を挙げて示したものです。
import arcpy
from arcpy import env
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(テーブル比較)ツールを使用する方法を示しています。
# Name: TableCompare.py
# Description: Compare two dBASE tables and return comparison result.
# Author: ESRI
# import system modules
import arcpy
try:
# 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)
print compare_result
print arcpy.GetMessages()
except:
# Print error message if an error occurs
print arcpy.GetMessages()