サマリー
属性検索に基づいて、レイヤーまたはテーブル ビューでの選択を追加、更新、または削除します。
使用法
入力には、フィーチャ レイヤーまたはテーブル ビューのいずれかを指定する必要があります。フィーチャクラスまたはテーブルを入力として指定することはできません。
このツールは、ArcMap の [コンテンツ] ウィンドウのレイヤーまたはテーブル ビューの他、[フィーチャ レイヤーの作成 (Make Feature Layer)] または [テーブル ビューの作成 (Make Table View)] ツールを使ってスクリプトに作成されたレイヤーまたはテーブル ビューに対して機能します。
出力範囲が指定されている場合や、入力レイヤーまたはテーブル ビューにフィルター設定がある場合は、範囲内またはフィルター設定に一致するフィーチャまたは行だけを選択できます。
[行のカウント (Get Count)] ツールを使用して、選択したフィーチャや行の数を特定できます。これは特に、スクリプトやモデルで、さらに処理が必要かどうかを判断する場合に便利です。
構文
SelectLayerByAttribute_management (in_layer_or_view, {selection_type}, {where_clause})
パラメーター | 説明 | データ タイプ |
in_layer_or_view | 選択するフィーチャ レイヤーまたはテーブル ビュー。 ArcMap の [コンテンツ] ウィンドウのレイヤーやテーブル ビュー、または [フィーチャ レイヤーの作成 (Make Feature Layer)] や [テーブル ビューの作成 (Make Table View)] ツールを使って ArcCatalog またはスクリプトに作成されたレイヤーまたはテーブル ビューを入力として指定できます。 | Table View; Raster Layer; Mosaic Layer |
selection_type (オプション) | どのように選択を適用するか、選択がすでに存在する場合にはそれをどうするかを決定します。
| String |
where_clause (オプション) | レコードのサブセットを選択するために使用する SQL 式。SQL 構文の詳細については、「ArcGIS で使用される条件式の SQL リファレンス」「」をご参照ください。 | SQL Expression |
コードのサンプル
Select Layer By Attribute (属性検索) の例 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは Select Layer By Attribute (属性検索) 関数をイミディエイト モードで使用する方法を、例を挙げて示したものです。
import arcpy
arcpy.MakeFeatureLayer_management ("C:/data/data.mdb/states", "stateslyr")
arcpy.SelectLayerByAttribute_management ("stateslyr", "NEW_SELECTION", " [NAME] = 'California' ")
Select Layer By Attribute (属性検索) の例 2 (スタンドアロン スクリプト)
次のスタンドアロン スクリプトは、位置と属性検索に基づいてフィーチャを新しいフィーチャクラスに抽出するために、ワークフローで Select Layer By Attribute (属性検索) 関数を使用する方法を示したものです。
# Name: ExtactFeaturesByLocationAndAttribute.py
# Description: Extract features to a new feature class based on a spatial relationships to another layer AND an attribute query
# Import system modules
import arcpy
# Set the workspace
env.workspace = "c:/data/mexico.gdb"
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("cities", "lyr")
# Select all cities which overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("lyr", "intersect", "chihuahua", 0, "new_selection")
# Within selected features, further select only those cities which have a population > 10,000
arcpy.SelectLayerByAttribute_management("lyr", "SUBSET_SELECTION", ' "population" > 10000 ')
# Write the selected features to a new featureclass
arcpy.CopyFeatures_management("lyr", "chihuahua_10000plus")
環境
ライセンス情報
- ArcGIS Desktop Basic: はい
- ArcGIS Desktop Standard: はい
- ArcGIS Desktop Advanced: はい