同一値を持つレコードの検出(Find Identical) (データの管理)
サマリ
フィールドの一覧内で同一値を持つ、フィーチャクラスまたはテーブルのレコードを報告し、同一値を持つこれらのレコードを示すテーブルを生成します。「Shape」フィールドが選択されている場合は、フィーチャ ジオメトリが照合されます。
同一値を持つレコードを検出して削除するには、[同一値を持つレコードの削除(Delete Identical)] ツールを使用します。
図
使用法
-
このツールは、入力フィールドの値に基づいて、同一値を持つレコードを検出します。入力データセット内の複数のフィールドにある値を照合することができます。複数のフィールドが指定された場合、レコードは、最初のフィールド内の値によって照合された後、2 番目のフィールドの値によって照合されるという具合に、順次照合されます。
-
出力テーブルには入力データセットと同じ数のレコードが存在し、IN_FID と FEAT_SEQ という 2 つのフィールドが含まれます。同一値を持つレコードの FEAT_SEQ 値は同じになります。FEAT_SEQ 値はこのツールによって生成される値であり、オブジェクト ID とのリレーションシップはありません。IN_FID フィールドは、FID に基づき出力テーブルを入力データセットに結合する場合に使用できます。
-
フィーチャクラスまたはフィーチャ レイヤを入力に指定して、[フィールド] パラメータでフィールド「Shape」を選択すると、同一値を持つフィーチャを位置によって検索するためにフィーチャ ジオメトリが照合されます。[XY 許容値] と [Z 許容値] パラメータは、入力フィールドの 1 つとして「Shape」が選択されている場合のみ有効になります。
構文
パラメータ | 説明 | データ タイプ |
in_dataset |
同一値を持つレコードを検出するテーブルまたはフィーチャクラス。 | Table View |
out_dataset |
同一値を持つレコードを報告する出力テーブル。このテーブルには入力データセットと同じ数のレコードが存在し、IN_FID と FEAT_SEQ という 2 つのフィールドが含まれます。同一値を持つレコードの FEAT_SEQ 値は同じになります。 | Table |
fields [fields,...] | 同一値を持つレコードを検出するために値が照合されるフィールド。 | Field |
xy_tolerance (オプション) |
別のフィーチャ内に同一値の頂点が存在するかどうかを評価するときに各頂点に適用される XY 許容値。このパラメータは、「Shape」がフィールドの 1 つとして選択されている場合のみ有効になります。 | Linear unit |
z_tolerance (オプション) |
別のフィーチャ内に同一値の頂点が存在するかどうかを評価するときに各頂点に適用される Z 許容値。このパラメータは、「Shape」がフィールドの 1 つとして選択されている場合のみ有効になります。 | Double |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで FindIdentical(同一値を持つレコードの検出)関数を使用する方法を示しています。
import arcpy # Find identical records based on a text field and a numeric field. arcpy.FindIdentical_management("C:/data/fireincidents.shp", "C:/output/duplicate_incidents.dbf", ["ZONE", "INTENSITY"])
次のスタンドアロン スクリプトは、FindIdentical(同一値を持つレコードの検出)関数を使用して、テーブルまたはフィーチャクラスの重複するレコードを識別する方法を示しています。
# Name: FindIdentical_Example2.py # Description: Finds duplicate features in a dataset based on location (Shape field) and fire intensity # Author: ESRI import arcpy from arcpy import env env.overwriteOutput = True # Set workspace environment env.workspace = "C:/data/findidentical.gdb" # Set input feature class in_dataset = "fireincidents" # Set the fields upon which the matches are found fields = ["Shape", "INTENSITY"] # Set xy tolerance xy_tol = ".02 Meters" out_table = "duplicate_incidents" # Execute Find Identical arcpy.FindIdentical_management(in_dataset, fields, out_table, xy_tol)