フィーチャ比較 (Feature Compare) (データ管理)

サマリー

2 つのフィーチャクラスまたはレイヤーを比較して、比較結果を返します。

使用法

  • このツールは、比較結果を示すメッセージを返します。 デフォルトでは、ツールは入力間の最初の相違点を検出した後に実行を停止します。 相違点をすべてレポートする場合は、[比較を継続] パラメーターをオンにします。

  • 入力データセット間でレポートされた相違点の原因がレコードの追加または削除である場合、最初にレポートされた相違点のみが有効です。 追加または削除後にレポートされたすべての相違点は、比較の順序が間違っていることが原因となります。 比較ツールは、追加または削除されたレコードを検出した後、次の一致するレコード セットを検出しようとはしません。

  • このツールにより、ジオメトリ、テーブル値、空間参照、およびフィールド定義の相違点をレポートできます。

  • 複数の並べ替えフィールドを指定できます。 最初のフィールドが並べ替えられたら、2 番目のフィールドが並べ替えられ、以降、昇順で並べ替えが行われます。 両方の入力データセットにある共通フィールドで並べ替えることにより、各入力データセットの同じ行を比較することができます。

  • デフォルトでは、[比較するタイプ] パラメーターは [すべて] に設定されます。 これは、空間参照、フィールド プロパティ、属性、ジオメトリなどを含め、比較対象のフィーチャのすべてのプロパティがチェックされるということを意味します。 特定のフィーチャのプロパティを比較するには、異なる比較するタイプを指定します。

  • [比較対象外のプロパティ] パラメーターを使用すると、メジャー属性、Z 属性、ポイント ID 属性、拡張プロパティなどのプロパティを比較から除外できます。 2 つのフィーチャクラスが一致している可能性があるが、一方にはメジャーと Z 座標が含まれ、もう一方には含まれていない場合があります。 [拡張プロパティを無視] オプションは、フィーチャクラスまたはテーブルに追加される追加情報を参照します。 たとえば、2 つのアノテーション フィーチャクラスのフィーチャが一致している可能性があるが、これらのフィーチャクラスが、シンボル コレクション内の異なるシンボルや異なる編集時の振舞いなど、異なる拡張プロパティを持っている場合があります。

  • デフォルトの [XY 許容値] パラメーター値は [入力ベース フィーチャ] パラメーター値のデフォルト XY 許容値によって指定されます。 エラーを最小限に抑えるため、この比較許容値には、できるだけ小さい値を選択してください。 値 0 が指定されている場合、完全一致が必要です。

  • デフォルトの [M 許容値] パラメーター値と [Z 許容値] パラメーター値は、[入力ベース フィーチャ] パラメーター値のデフォルト M 許容値および Z 許容値によって指定されます。 この単位は、[入力ベース フィーチャ] パラメーター値の単位と同じです。 値 0 が指定されている場合、完全一致が必要です。

  • [比較するタイプ] パラメーターに [ジオメトリのみ] オプションを使用するとき、空間参照は一致する必要があります。 入力の空間参照が同じではない場合、入力の相違がレポートされます。 入力の座標系が同じではない場合、フィーチャは異なるものとしてみなされます。 このツールではリアルタイムのフィーチャの投影変換は行われません。

  • [除外フィールド] パラメーターは、フィールド数の比較に含まれない、つまり、フィールド定義とテーブル値が無視されるフィールドの一覧になります。

  • 属性許容値は、数値フィールド タイプにのみ指定できます。

  • [出力比較ファイル] パラメーター値には、入力データセット間のすべての類似点と相違点が含まれます。 このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。 たとえば、これを検索して、差異のあるすべての行のすべての ObjectID 値を取得できます。 has_error フィールドはそのレコードにエラーがあることを示しています。 値 True は、相違点があることを示しています。

  • このツールを Python で使用する場合、1 のインデックス位置 (result[1]) を使用して、返された Result オブジェクトから比較状況を取得します。 相違点が検出されない場合は値が 'true'、相違点が検出された場合は 'false' になります。

    Python でのツールの使用についての詳細

パラメーター

ラベル説明データ タイプ
入力ベース フィーチャ

[入力テスト フィーチャ] パラメーター値と比較されるデータ。 このパラメーター値は、有効と宣言したデータです。 このベース データには、正しいコンテンツおよび情報が含まれます。

Feature Layer
入力テスト フィーチャ

[入力ベース フィーチャ] パラメーター値と比較されるデータ。 このパラメーター値は、新しい情報の編集またはコンパイルによって変更を行ったデータです。

Feature Layer
並べ替えフィールド

入力内のレコードを並べ替えるために使用されるフィールド。 レコードは昇順で並べ替えられます。 両方の入力にある共通フィールドで並べ替えることにより、各入力データセットの同じ行を比較することができます。

Value Table
比較するタイプ
(オプション)

使用される比較タイプを指定します。

  • すべてフィーチャクラスのすべてのプロパティが比較されます。 これがデフォルトです。
  • ジオメトリのみフィーチャクラスのジオメトリのみが比較されます。
  • 属性のみフィーチャクラスの属性とその値のみが比較されます。
  • スキーマのみフィーチャクラスのスキーマのみが比較されます。
  • 空間参照のみ2 つのフィーチャクラスの空間参照のみが比較されます。
String
比較対象外のプロパティ
(オプション)

比較されないプロパティを指定します。

  • M を無視メジャー プロパティは比較されません。
  • Z を無視高さプロパティは比較されません。
  • PointID を無視ポイント ID プロパティは比較されません。
  • 拡張プロパティを無視拡張プロパティは比較されません。
  • サブタイプを無視サブタイプは比較されません。
  • リレーションシップ クラスを無視リレーションシップ クラスは比較されません。
  • リプレゼンテーション クラスを無視リプレゼンテーション クラスは比較されません。
  • フィールド エイリアスを無視フィールド エイリアスは比較されません。
String
XY 許容値
(オプション)

フィーチャが同一と見なされる範囲を指定する距離。 エラーを最小限に抑えるには、パラメーター値を可能な限り小さくする必要があります。 デフォルトで、この比較許容値は入力ベース フィーチャの XY 許容値になります。

Linear Unit
M 許容値
(オプション)

複数のメジャー値が同一と見なされるための最小距離。

Double
Z 許容値
(オプション)

Z 座標が同一と見なされるための Z 座標値間の最小距離範囲です。

Double
属性許容値
(オプション)

属性値が等しいと考えられる範囲を決める数値。 このパラメーターは数値フィールド タイプにのみ適用されます。

Value Table
除外フィールド
(オプション)

比較時に除外されるフィールド。 これらのフィールドのフィールド定義とテーブル値は無視されます。

String
比較を継続
(オプション)

入力間の最初の相違点を検出した後も比較を継続するかどうかを指定します。

  • オフ - ツールは、最初の相違点を検出した後に動作を停止します。 これがデフォルトです。
  • オン - ツールは、最初の相違点を検出した後も動作を継続します。

Boolean
出力比較ファイル
(オプション)

入力間のすべての類似点と相違点が含まれている出力ファイル。 このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。

入力間のすべての類似点と相違点が含まれている出力ファイル。 このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。

File

派生した出力

ラベル説明データ タイプ
比較状況

相違点が検出されない場合は比較状況が 'true'、相違点が検出された場合は 'false' になります。

Boolean

arcpy.management.FeatureCompare(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

in_test_features パラメーター値と比較されるデータ。 このパラメーター値は、有効と宣言したデータです。 このベース データには、正しいコンテンツおよび情報が含まれます。

Feature Layer
in_test_features

in_base_features パラメーター値と比較されるデータ。 このパラメーター値は、新しい情報の編集またはコンパイルによって変更を行ったデータです。

Feature Layer
sort_field
[sort_field,...]

入力内のレコードを並べ替えるために使用されるフィールド。 レコードは昇順で並べ替えられます。 両方の入力にある共通フィールドで並べ替えることにより、各入力データセットの同じ行を比較することができます。

Value Table
compare_type
(オプション)

使用される比較タイプを指定します。

  • ALLフィーチャクラスのすべてのプロパティが比較されます。 これがデフォルトです。
  • GEOMETRY_ONLYフィーチャクラスのジオメトリのみが比較されます。
  • ATTRIBUTES_ONLYフィーチャクラスの属性とその値のみが比較されます。
  • SCHEMA_ONLYフィーチャクラスのスキーマのみが比較されます。
  • SPATIAL_REFERENCE_ONLY2 つのフィーチャクラスの空間参照のみが比較されます。
String
ignore_options
[ignore_options,...]
(オプション)

比較されないプロパティを指定します。

  • IGNORE_Mメジャー プロパティは比較されません。
  • IGNORE_Z高さプロパティは比較されません。
  • IGNORE_POINTIDポイント ID プロパティは比較されません。
  • IGNORE_EXTENSION_PROPERTIES拡張プロパティは比較されません。
  • IGNORE_SUBTYPESサブタイプは比較されません。
  • IGNORE_RELATIONSHIPCLASSESリレーションシップ クラスは比較されません。
  • IGNORE_REPRESENTATIONCLASSESリプレゼンテーション クラスは比較されません。
  • IGNORE_FIELDALIASフィールド エイリアスは比較されません。
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

派生した出力

名前説明データ タイプ
compare_status

相違点が検出されない場合は比較状況が 'true'、相違点が検出された場合は 'false' になります。

Boolean

コードのサンプル

FeatureCompare の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで FeatureCompare 関数を使用する方法を示しています。

import arcpy
arcpy.management.FeatureCompare(
    'C:/Workspace/baseroads.shp', 'C:/Workspace/newroads.shp', 'ROAD_ID', 
    'ALL', ['IGNORE_M', 'IGNORE_Z'], '0.001 METERS', 0, 0,
    [['Shape_Length', 0.001]], '#', 'CONTINUE_COMPARE',
    'C:/Workspace/roadcompare.txt')
FeatureCompare の例 2 (スタンドアロン スクリプト)

次の例では、スタンドアロン スクリプトで FeatureCompare 関数を使用する方法を示しています。

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

# Import system modules 
import arcpy

# 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.management.FeatureCompare(
    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[1])
print(arcpy.GetMessages())

環境

このツールは、ジオプロセシング環境を使用しません。

関連トピック