同一値を持つレコードの削除 (Delete Identical) (データ管理)

サマリー

フィールド セット内で同一値を持つレコードを、フィーチャクラスまたはテーブルから削除します。 ジオメトリ フィールドが選択されている場合は、フィーチャ ジオメトリが照合されます。

レコードを削除せず、どのレコードが同一値を持つと見なされるかを報告する場合は、[同一値を持つレコードの検出 (Find Identical)] ツールを使用できます。

使用法

    注意:

    このツールを実行すると、入力データが変更されます。 詳細と不要なデータの変更を回避するための方法については、「入力データを変更または更新するツール」をご参照ください。

  • 同一値を持つレコードのすべてのセットで、同一値の最初の 1 つ以外すべてのレコードが削除されます。 同一値を持つレコードの順序は、[同一値を持つレコードの検出 (Find Identical)] ツールから返される順序と同じです。

  • 入力データセット内の複数のフィールドにある値が照合されます。 複数のフィールドが指定された場合、レコードは、最初のフィールド内の値によって照合された後、2 番目のフィールドの値によって照合されるという具合に、順次照合されます。

  • フィーチャクラスまたはフィーチャ レイヤーを入力に指定して、[フィールド] パラメーターでジオメトリ フィールドを選択すると、同一値を持つフィーチャを位置によって検索するためにフィーチャ ジオメトリが照合されます。 [XY 許容値][Z 許容値] パラメーターは、入力フィールドの 1 つとしてジオメトリ フィールドが選択されている場合のみ有効になります。

パラメーター

ラベル説明データ タイプ
入力データセット

同一値を持つレコードを削除するテーブルまたはフィーチャクラス。

Table View
フィールド

同一値を持つレコードを検出するために値が照合されるフィールド。

Field
XY 許容値
(オプション)

別のフィーチャ内に同一値の頂点が存在するかどうかを評価するときに各頂点に適用される XY 許容値。

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

別のフィーチャ内に同一値の頂点が存在するかどうかを評価するときに各頂点に適用される Z 許容値。

Double

派生した出力

ラベル説明データ タイプ
更新された入力データセット

更新された入力データセット。

Table View

arcpy.management.DeleteIdentical(in_dataset, fields, {xy_tolerance}, {z_tolerance})
名前説明データ タイプ
in_dataset

同一値を持つレコードを削除するテーブルまたはフィーチャクラス。

Table View
fields
[fields,...]

同一値を持つレコードを検出するために値が照合されるフィールド。

Field
xy_tolerance
(オプション)

別のフィーチャ内に同一値の頂点が存在するかどうかを評価するときに各頂点に適用される XY 許容値。

Linear Unit
z_tolerance
(オプション)

別のフィーチャ内に同一値の頂点が存在するかどうかを評価するときに各頂点に適用される Z 許容値。

Double

派生した出力

名前説明データ タイプ
out_dataset

更新された入力データセット。

Table View

コードのサンプル

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

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

import arcpy
arcpy.management.DeleteIdentical("C:/data/fireincidents.shp", ["ZONE", "INTENSITY"])
DeleteIdentical の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、DeleteIdentical 関数を使用して、テーブルまたはフィーチャクラスの重複するレコードを識別する方法を示しています。

# Name: DeleteIdentical_Example2.py
# Description: Delete identical features in a dataset based on Shape (geometry) and a TEXT field.

# Import system modules
import arcpy

arcpy.env.overwriteOutput = True

# Set workspace environment
arcpy.env.workspace = "C:/data/sbfire.gdb"

# Set input feature class
in_dataset = "fireincidents"

# Set the field on which the identical records are found
fields = ["Shape", "INTENSITY"]

# Set the XY tolerance within which identical records will be deleted
xy_tol = "0.02 Miles"

# Set the Z tolerance to default
z_tol = ""

# Run Delete Identical 
arcpy.management.DeleteIdentical(in_dataset, fields, xy_tol, z_tol)