属性検索(Select Layer By Attribute) (データ管理)
サマリ
属性検索に基づいて、レイヤまたはテーブル ビューでの選択を追加、更新、または削除します。
使用法
-
入力には、フィーチャ レイヤまたはテーブル ビューのいずれかを指定する必要があります。フィーチャクラスまたはテーブルを入力として指定することはできません。
-
このツールは、ArcMap のコンテンツ ウィンドウのレイヤまたはテーブル ビューの他、[フィーチャ レイヤの作成(Make Feature Layer)] または [テーブル ビューの作成(Make Table View)] ツールを使ってスクリプトに作成されたレイヤまたはテーブル ビューに対して機能します。
-
出力範囲が指定されている場合や、入力レイヤまたはテーブル ビューにフィルタ設定がある場合は、範囲内またはフィルタ設定に一致するフィーチャまたは行だけを選択できます。
-
[行のカウント(Get Count)] ツールを使用して、選択したフィーチャや行の数を特定できます。これは特に、スクリプトやモデルで、さらに処理が必要かどうかを判断する場合に便利です。
構文
パラメータ | 説明 | データ タイプ |
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 |
コードのサンプル
次の 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(属性検索)関数を使用する方法を示したものです。
# 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")