エリミネート(Eliminate) (データの管理)
サマリ
ポリゴンを、面積が最大または共有境界線が最も長い隣接するポリゴンとマージすることで、そのポリゴンを削除します。多くの場合、[エリミネート(Eliminate)] は、[インターセクト(Intersect)] や [ユニオン(Union)] などのオーバーレイ操作によって生成された、小さなスリバー ポリゴンを削除するために使用されます。
図
使用法
-
削除するフィーチャは、ポリゴン レイヤに適用される、選択されたフィーチャ セットによって決定されます。選択するセットは、[属性検索(Select Layer by Attribute)] の使用、[空間検索(Select Layer by Location)] の使用、または ArcMap でのマップ レイヤの検索によって、前のステップで決定する必要があります。
-
入力レイヤには、選択内容が含まれている必要があります。含まれていない場合、[エリミネート(Eliminate)] は失敗します。
-
[除外条件式] と [除外レイヤ] は相互排他ではなく、一緒に使用して削除対象を詳細に制御することができます。
構文
パラメータ | 説明 | データ タイプ |
in_features |
隣接するポリゴンにマージされるポリゴンのあるレイヤ。 | Feature Layer |
out_feature_class |
作成されるフィーチャクラス。 | Feature Class |
selection (オプション) |
以下のオプションは、フィーチャの削除に使用される方法を指定します。
| Boolean |
ex_where_clause (オプション) | 削除しない入力フィーチャを識別するのに使用される条件式です。 この式の構文はデータ ソースによって多少異なります。たとえば、クエリ対象がファイル ジオデータベース、ArcSDE ジオデータベース、シェープファイル、またはカバレッジの場合は、フィールド名を二重引用符で囲みます。 "MY_FIELD" クエリ対象がパーソナル ジオデータベースの場合は、以下のようにフィールドを角括弧で囲みます。 [MY_FIELD] Python では、文字列を単一引用符または二重引用符で囲みます。SQL 式の WHERE 句などで通常行われるように、引用符を含む文字列を作成する場合は、引用符を円記号(\)でエスケープするか、文字列を三重引用符で囲みます。たとえば、次のような WHERE 句を記述する場合、 "CITY_NAME" = 'Chicago' 次のように文字列全体を二重引用符で囲み、内部の二重引用符をエスケープします。 " \"CITY_NAME\" = 'Chicago' " あるいは、次のようにエスケープしないで文字列全体を三重引用符で囲みます。 """ "CITY_NAME" = 'Chicago' """ SQL 構文の詳細とデータ ソースによる違いについては、ヘルプ トピックの「ArcGIS で使用されるクエリ式への SQL リファレンス」をご参照ください。 | SQL Expression |
ex_features (オプション) |
削除しないポリゴン境界やその一部を定義する入力ポリラインまたはポリゴン フィーチャクラスまたはレイヤです。 | Feature Layer |
コードのサンプル
次の Python ウィンドウ スクリプトで、Eliminate(エリミネート)ツールをイミディエイト モードで使用する方法を示します。
import arcpy
from arcpy import env
env.workspace = "C:/data/Portland.gdb/Census"
arcpy.MakeFeatureLayer_management("blockgrp", "blocklayer")
arcpy.SelectLayerByAttribute_management("blocklayer", "NEW_SELECTION",
'"Area_Sq_Miles" < 0.15')
arcpy.Eliminate_management("blocklayer", "C:/output/output.gdb/eliminate_output",
"LENGTH", '"OBJECTID" = 9')
次のスタンドアロン スクリプトで、Eliminate(エリミネート)ツールの使用方法を示します。
# Name: Eliminate_Example2.py
# Description: Eliminate features based on a selection.
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Census"
# Set local variables
inFeatures = "blockgrp"
tempLayer = "blocklayer"
expression = '"Area_Sq_Miles" < 0.15'
outFeatureClass = "C:/output/output.gdb/eliminate_output"
exclusionExpression = '"OBJECTID" = 9'
# Execute MakeFeatureLayer
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
# Execute SelectLayerByAttribute to define features to be eliminated
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
# Execute Eliminate
arcpy.Eliminate_management(tempLayer, outFeatureClass, "LENGTH",
exclusionExpression)