概要
属性検索に基づいて、選択を追加、更新、または削除します。
使用法
- 入力がフィーチャクラスまたはデータセット パスの場合、このツールは、ツールの結果が適用された新しいレイヤーを自動的に作成して返します。 
- 入力のデータ ソースがフィーチャ サービスの場合は、ArcGIS Server が標準化された SQL クエリを使用することが推奨事項となります。 
- 入力にフィルター設定が存在する場合、そのフィルター設定に整合するフィーチャまたは行のみが選択で使用されます。 
- [平均以上] クエリと [平均以下] クエリを使用すると、入力レイヤーがソース データのサブセットである場合でも、AVG 関数がソース データに対して常に実行されます。 
- 選択したレコードの数は、[ジオプロセシング履歴] で、[パラメーター] > [個数] の下にリストされます。さらに、[行のカウント (Get Count)] ツールを使用して、選択したレコードの数をカウントできます。Python の場合、選択したレコードの数は、ツールの Result オブジェクトからアクセスすることもできます。 
構文
arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause}, {invert_where_clause})| パラメーター | 説明 | データ タイプ | 
| in_layer_or_view | 選択を適用するデータ。 | Table View; Raster Layer; Mosaic Layer | 
| selection_type (オプション) | どのように選択を適用するか、選択がすでに存在する場合にはそれをどうするかを指定します。 
 | String | 
| where_clause (オプション) | レコードのサブセットを選択するために使用する SQL 式。SQL 構文の詳細については、「ArcGIS で使用されるクエリ式への SQL リファレンス」をご参照ください。 | SQL Expression | 
| invert_where_clause (オプション) | 式がそのまま使用されるか、逆の式が使用されるかを指定します。 
 | Boolean | 
派生した出力
| 名前 | 説明 | データ タイプ | 
| out_layer_or_view | 選択が適用された状態の更新された入力。 | テーブル ビュー; ラスター レイヤー; フィーチャ レイヤー | 
| count | 選択したレコードの数。 | Long | 
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで SelectLayerByAttribute 関数を使用する方法を示しています。
import arcpy
arcpy.SelectLayerByAttribute_management("states", "NEW_SELECTION", 
                                        "[NAME] = 'California'")次のスタンドアロン スクリプトは、位置と属性検索に基づいてフィーチャを新しいフィーチャクラスに抽出するために、ワークフローで SelectLayerByAttribute 関数を使用する方法を示したものです。
# Name: ExtractFeaturesByLocationAndAttribute.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
arcpy.env.workspace = 'c:/data/mexico.gdb'
# Select all cities that overlap the chihuahua polygon
chihuahua_cities = arcpy.SelectLayerByLocation_management('cities', 'INTERSECT', 
                                                          'chihuahua', 0, 
                                                          'NEW_SELECTION')
# Within selected features, further select only those cities with a 
# population > 10,000   
arcpy.SelectLayerByAttribute_management(chihuahua_cities, 'SUBSET_SELECTION', 
                                        '"population" > 10000')
# Write the selected features to a new feature class
arcpy.CopyFeatures_management(chihuahua_cities, 'chihuahua_10000plus')環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい