選択(Select) (解析)
サマリ
入力フィーチャクラスまたは入力フィーチャ レイヤから特定のフィーチャを抽出します。通常は select 式または SQL(Structured Query Language)式を使用し、抽出したフィーチャは出力フィーチャクラスに格納されます。
使用法
-
select 式または SQL 式は、[検索条件設定] を使って作成するか、単に手入力します。式の構文についての詳細は、「SQL 式の作成について」または「SQL リファレンス」をご参照ください。
-
入力フィーチャにレイヤが使用され、式が入力されていない場合、選択されたフィーチャだけが出力フィーチャクラスに書き出されます。入力フィーチャにレイヤが使用されて式が入力されている場合、式は選択されたフィーチャだけに実行され、選択セットの式のサブセットが出力フィーチャクラスに書き出されます。
-
レイヤ内のフィーチャの選択セットからフィーチャクラスを作成する場合は、[フィーチャのコピー(Copy Features)] ツールを使用してください。
構文
パラメータ | 説明 | データ タイプ |
in_features |
フィーチャを選択する入力フィーチャクラスまたはレイヤ。 | Feature Layer |
out_feature_class |
作成される出力フィーチャクラス。式が使用されない場合は、すべての入力フィーチャが含まれます。 | Feature Class |
where_clause (オプション) |
フィーチャのサブセットを選択するために使用する SQL 式。この式の構文はデータ ソースによって多少異なります。たとえば、クエリ対象がファイル ジオデータベース、ArcSDE ジオデータベース、シェープファイル、またはカバレッジの場合は、フィールド名を二重引用符で囲みます。 "MY_FIELD" クエリ対象がパーソナル ジオデータベースの場合は、以下のようにフィールドを角括弧で囲みます。 [MY_FIELD] Python では、文字列を単一引用符または二重引用符で囲みます。SQL 式の WHERE 句などで通常行われるように、引用符を含む文字列を作成する場合は、引用符を円記号(\)でエスケープするか、文字列を三重引用符で囲みます。たとえば、次のような WHERE 句を記述する場合、 "CITY_NAME" = 'Chicago' 次のように文字列全体を二重引用符で囲み、内部の二重引用符をエスケープします。 " \"CITY_NAME\" = 'Chicago' " または、次のように文字列全体を単一引用符で囲み、内部の単一引用符をエスケープします。 ' "CITY_NAME" = \'Chicago\' ' あるいは、次のようにエスケープしないで文字列全体を三重引用符で囲みます。 """ "CITY_NAME" = 'Chicago' """ SQL 構文の詳細とデータ ソースによる違いについては、ヘルプ トピックの「ArcGIS で使用されるクエリ式への SQL リファレンス」をご参照ください。 | SQL Expression |
コードのサンプル
import arcpy
from arcpy import env
env.workspace = "c:/basedata/roads.gdb"
arcpy.Select_analysis("nfroads", "paved", '[ROAD_CLASS] = "PAVED"')
次の Python ウィンドウ スクリプトは、イミディエイト モードで選択関数を使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Select_analysis("majorrds.shp", "C:/output/majorrdsClass4.shp", '"CLASS" = \'4\'')
次の Python スクリプトは、スタンドアロン スクリプトで選択関数を使用する方法を示しています。
# Name: Select_Example2.py
# Description: Select roads of Class 4 from major roads tin the gnatcatcher habitat study area
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/data"
# Set local variables
in_features = "majorrds.shp"
out_feature_class = "C:/output/majorrdsClass4.shp"
where_clause = '"CLASS" = \'4\''
# Execute Select
arcpy.Select_analysis(in_features, out_feature_class, where_clause)