概要
2 つのテーブルおよびテーブル ビューを比較して、比較結果を返します。
使用法
このツールは、比較結果を示すメッセージを返します。デフォルトで、最初の不一致が検出されるとこのツールは実行を停止します。相違点をすべてレポートする場合は、[比較を継続] パラメーターをオンにします。
[テーブル比較 (Table Compare)] ツールは、テーブル値とフィールド定義の相違点をレポートできます。
複数のソート フィールドを指定できます。指定するフィールドに基づいて、[入力ベース テーブル] および [入力テスト テーブル] が並べ替えられます。最初のフィールドが並べ替えられたら、2 番目のフィールドが並べ替えられ、以降、昇順で並べ替えが行われます。ベース テーブルとテスト テーブルの両方にある共通フィールドで並べ替えることにより、各入力データセットの同じ行を比較することができます。
-
デフォルトでは、比較タイプは [すべて](Python では ALL) に設定されます。つまり、フィールドのプロパティや属性などを含め、比較されるテーブルのすべてのプロパティがオンになります。ただし、比較するテーブルの特定のプロパティだけをオンにする、別の比較タイプを選択することもできます。
[比較対象外のプロパティ] は、比較からプロパティを除外する柔軟性を提供します。これらのプロパティには、エクステンション プロパティ、サブタイプ、およびリレーションシップ クラスが含まれます。
フィールド数の比較に含まれていないフィールドを除外すると、これらのフィールドのフィールド定義とテーブル値は無視されます。
属性許容値は、数値フィールド タイプにのみ指定できます。
[出力比較ファイル] には、[入力ベース テーブル] および [入力テスト テーブル] の間のすべての類似点と相違点が含まれます。このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。たとえば、このテーブルを検索して、差異のあるすべての行のすべての ObjectID 値を取得できます。
Python でこのツールを使用する場合は、result.getOutput(1) を使用してこのツールのステータスを取得できます。相違点が検出されない場合は値が 'true'、相違点が検出された場合は 'false' になります。
構文
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 (オプション) | 比較タイプ。「すべて」がデフォルトです。デフォルトを使用すると、比較対象テーブルのすべてのプロパティが比較されます。
| String |
ignore_options [ignore_options,...] (オプション) | これらのプロパティは比較されません。
| String |
attribute_tolerances [[Field, {Tolerance}],...] (オプション) | 属性値が等しいと考えられる範囲を決める数値。これは数値フィールド タイプにのみ適用されます。 | Value Table |
omit_field [omit_field,...] (オプション) | 比較時に除外されるフィールド。これらのフィールドのフィールド定義とテーブル値は無視されます。 | String |
continue_compare (オプション) | 最初の不一致を検出した後にすべてのプロパティを比較するかどうかを示します。
| Boolean |
out_compare_file (オプション) | このファイルには、in_base_table と in_test_table の間のすべての類似点と相違点が含まれます。このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。 | File |
派生した出力
名前 | 説明 | データ タイプ |
compare_status | 相違点が検出されない場合は比較状況が 'true'、相違点が検出された場合は 'false' になります。 | Boolean |
コードのサンプル
次の 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 (フィーチャ比較) ツールを使用する方法の例。
# 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: はい