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

ライセンス レベル:BasicStandardAdvanced

サマリ

属性検索に基づいて、レイヤまたはテーブル ビューでの選択を追加、更新、または削除します。

使用法

構文

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

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

  • NEW_SELECTION結果として得られる選択によって、既存の選択が置換されます。これはデフォルト設定です。
  • ADD_TO_SELECTION選択が存在する場合、結果として得られる選択が既存の選択に追加されます。選択が存在しない場合は、NEW_SELECTION オプションと同じです。
  • REMOVE_FROM_SELECTION結果として得られる選択が、既存の選択から削除されます。選択が存在しない場合、このオプションは影響を与えません。NEW_SELECTION オプションと同じです。
  • SUBSET_SELECTION結果として得られる選択が、既存の選択に統合されます。両方に共通のレコードだけが選択された状態となります。
  • SWITCH_SELECTION選択を切り替えます。選択されたすべてのレコードが選択から削除され、選択されなかったすべてのレコードが選択に追加されます。このオプションが指定されている場合、条件式は無視されます。
  • CLEAR_SELECTION選択を消去または削除します。このオプションが指定されている場合、条件式は無視されます。
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 for Desktop Basic: ○
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
7/28/2014