フィーチャの削除 (Delete Features) (データ管理)

サマリー

すべてのフィーチャまたは選択したフィーチャのサブセットを入力から削除します。

すべてのフィーチャまたはフィーチャのサブセットの削除は、次の条件に左右されます。

  • 入力がフィーチャクラスの場合、すべてのフィーチャが削除されます。
  • 入力がレイヤーであり、フィーチャが選択されていない場合は、すべてのフィーチャが削除されます。
  • 入力がレイヤーであり、フィーチャが選択されている場合は、選択されているフィーチャだけが削除されます。

使用法

  • このツールでは、フィーチャが選択された状態のレイヤーを入力として指定すると、選択されているそれらのフィーチャのみが削除されます。 フィーチャクラスから特定のフィーチャを削除するには、[フィーチャ レイヤーの作成 (Make Feature Layer)] ツールを使用するか、フィーチャクラスを画面に追加して、フィーチャクラスをレイヤーに変換します。 その後、[属性検索 (Select Layer By Attribute)] または [空間検索 (Select Layer By Location)] ツールを使用するか、マップ レイヤーの検索または [マップ] タブの [選択] グループの選択ツールを使用したフィーチャの対話的な選択を行って、選択を適用することができます。

  • 注意:

    多数のフィーチャを含むフィーチャクラスからすべてのフィーチャを削除する場合は、時間がかかる可能性があります。 テーブルのすべてのフィーチャを削除したい場合は、[テーブルの切詰め (Truncate Table)] ツールの使用を検討してください。 このツールを使用する際の重要な注意事項については、[テーブルの切詰め (Truncate Table)] ツールのマニュアルをご参照ください。

  • このツールは [入力フィーチャ] 値のジオメトリと属性の両方を削除します。

  • このツールでは、範囲の環境が適用されます。 出力範囲の環境内にあるか、出力範囲の環境に重なるフィーチャのみが削除されます。 入力レイヤーでフィーチャが選択されている場合は、選択されているフィーチャのうち、出力範囲内にあるか、出力範囲に重なるものだけが削除されます。

パラメーター

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

削除するフィーチャを含むフィーチャクラス、シェープファイル、またはレイヤー。

Feature Layer

派生した出力

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

更新されたフィーチャクラス。

Feature Layer

arcpy.management.DeleteFeatures(in_features)
名前説明データ タイプ
in_features

削除するフィーチャを含むフィーチャクラス、シェープファイル、またはレイヤー。

Feature Layer

派生した出力

名前説明データ タイプ
out_feature_class

更新されたフィーチャクラス。

Feature Layer

コードのサンプル

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

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CopyFeatures("majorrds.shp", "C:/output/output.gdb/majorrds2")
arcpy.management.DeleteFeatures("C:/output/output.gdb/majorrds2")
DeleteFeatures (フィーチャの削除) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、式に基づいてフィーチャを削除するために DeleteFeatures 関数を使用する方法を示しています。

# Description: Delete features from a feature class based on an expression
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
 
# Set local variables
inFeatures = "parcels"
outFeatures = "C:/output/output.gdb/new_parcels"
tempLayer = "parcelsLayer"
expression = arcpy.AddFieldDelimiters(tempLayer, "PARCEL_ID") + " = 'Cemetery'"
 

# Run CopyFeatures to make a new copy of the feature class
arcpy.management.CopyFeatures(inFeatures, outFeatures)
 
# Run MakeFeatureLayer
arcpy.management.MakeFeatureLayer(outFeatures, tempLayer)
 
# Run SelectLayerByAttribute to determine which features to delete
arcpy.management.SelectLayerByAttribute(tempLayer, "NEW_SELECTION", 
                                        expression)
 
# Run GetCount and if some features have been selected, 
#  run DeleteFeatures to remove the selected features.
if int(arcpy.management.GetCount(tempLayer)[0]) > 0:
    arcpy.management.DeleteFeatures(tempLayer)

環境

特殊なケース

範囲

範囲内にあるか、範囲に重なるフィーチャのみが削除されます。