属性検索 (Select Layer By Attribute) (データ管理)

サマリー

属性検索に基づいて、選択を追加、更新、または削除します。

使用法

  • 入力がフィーチャクラスまたはデータセット パスの場合、このツールは、ツールの結果が適用された新しいレイヤーを自動的に作成して返します。

  • 入力のデータ ソースがフィーチャ サービスの場合は、ArcGIS Server標準化された SQL クエリを使用することが推奨事項となります。

  • 入力にフィルター設定が存在する場合、そのフィルター設定に整合するフィーチャまたは行のみが選択で使用されます。

  • [平均以上] クエリと [平均以下] クエリを使用すると、入力レイヤーがソース データのサブセットである場合でも、AVG 関数がソース データに対して常に実行されます。

  • 選択したレコードの数は、[ジオプロセシング履歴] で、[パラメーター] > [個数] の下にリストされます。 さらに、[行のカウント (Get Count)] ツールを使用して、選択したレコードの数をカウントできます。 Python の場合、選択したレコードの数は、ツールの Result オブジェクトからアクセスすることもできます。

パラメーター

ラベル説明データ タイプ
入力テーブル

選択を適用するデータ。

Table View; Raster Layer; Mosaic Layer
選択タイプ
(オプション)

どのように選択を適用するか、選択がすでに存在する場合にはそれをどうするかを指定します。

  • 新規選択セット結果として得られる選択によって、現在の選択が置換されます。これがデフォルトです。
  • 現在の選択セットに追加選択が存在する場合、結果として得られる選択が現在の選択に追加されます。選択が存在しない場合は、新しい選択オプションと同じです。
  • 現在の選択セットから削除結果として得られる選択が、現在の選択から削除されます。選択が存在しない場合、このオプションは影響を与えません。
  • 現在の選択セットからサブセットを選択結果として得られる選択が、現在の選択に統合されます。両方に共通のレコードだけが選択された状態となります。
  • 現在の選択セットの切り替え選択が切り替えられます。選択されたすべてのレコードが現在の選択から削除され、選択されなかったすべてのレコードが現在の選択に追加されます。このオプションが指定されている場合、[式] パラメーター (Python では where_clause) は無視されます。
  • 現在の選択セットを解除選択が解除または削除されます。このオプションが指定されている場合、[式] パラメーター (Python では where_clause) は無視されます。
String
(オプション)

レコードのサブセットを選択するために使用する SQL 式。

SQL Expression
WHERE 句の反転
(オプション)

式がそのまま使用されるか、逆の式が使用されるかを指定します。

  • オフ - クエリがそのまま使用されます。これがデフォルトです。
  • オン - 逆のクエリが使用されます。[選択タイプ] パラメーターを使用すると、選択フィーチャが既存のフィーチャと統合される前に選択が反転します。
Boolean

派生した出力

ラベル説明データ タイプ
更新されたレイヤーまたはテーブル ビュー

選択が適用された状態の更新された入力。

テーブル ビュー; ラスター レイヤー; フィーチャ レイヤー
個数

選択したレコードの数。

Long

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
(オプション)

どのように選択を適用するか、選択がすでに存在する場合にはそれをどうするかを指定します。

  • NEW_SELECTION結果として得られる選択によって、現在の選択が置換されます。これがデフォルトです。
  • ADD_TO_SELECTION選択が存在する場合、結果として得られる選択が現在の選択に追加されます。選択が存在しない場合は、新しい選択オプションと同じです。
  • REMOVE_FROM_SELECTION結果として得られる選択が、現在の選択から削除されます。選択が存在しない場合、このオプションは影響を与えません。
  • SUBSET_SELECTION結果として得られる選択が、現在の選択に統合されます。両方に共通のレコードだけが選択された状態となります。
  • SWITCH_SELECTION選択が切り替えられます。選択されたすべてのレコードが現在の選択から削除され、選択されなかったすべてのレコードが現在の選択に追加されます。このオプションが指定されている場合、[式] パラメーター (Python では where_clause) は無視されます。
  • CLEAR_SELECTION選択が解除または削除されます。このオプションが指定されている場合、[式] パラメーター (Python では where_clause) は無視されます。
String
where_clause
(オプション)

レコードのサブセットを選択するために使用する SQL 式。SQL 構文の詳細については、「ArcGIS で使用されるクエリ式への SQL リファレンス」をご参照ください。

SQL Expression
invert_where_clause
(オプション)

式がそのまま使用されるか、逆の式が使用されるかを指定します。

  • NON_INVERTクエリがそのまま使用されます。これがデフォルトです。
  • INVERT逆のクエリが使用されます。selection_type パラメーターを使用すると、選択フィーチャが既存のフィーチャと統合される前に選択が反転します。
Boolean

派生した出力

名前説明データ タイプ
out_layer_or_view

選択が適用された状態の更新された入力。

テーブル ビュー; ラスター レイヤー; フィーチャ レイヤー
count

選択したレコードの数。

Long

コードのサンプル

SelectLayerByAttribute (属性検索) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.SelectLayerByAttribute_management("states", "NEW_SELECTION", 
                                        "[NAME] = 'California'")
SelectLayerByAttribute (属性検索) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、位置と属性検索に基づいてフィーチャを新しいフィーチャクラスに抽出するために、ワークフローで 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: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック