フィーチャ レイヤの作成(Make Feature Layer) (データの管理)

サマリ

フィーチャクラスまたはレイヤ ファイルから、フィーチャ レイヤを作成します。ツールで作成されたレイヤは一時的であり、レイヤをディスクに保存するか、またはマップ ドキュメントを保存しておかない限り、セッション後に削除されます。

使用法

構文

MakeFeatureLayer_management (in_features, out_layer, {where_clause}, {workspace}, {field_info})
パラメータ説明データ タイプ
in_features

新しいレイヤの作成に使用する、入力フィーチャクラスまたはレイヤ。アノテーションやディメンションなどのコンプレックス フィーチャクラスは、このツールへの入力としては有効でありません。

Feature Layer
out_layer

作成されるフィーチャ レイヤの名前。新しく作成されたレイヤは、フィーチャ レイヤを入力として使用するジオプロセシング ツールへの入力として使用できます。

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

フィールド名を検証するために使用する入力ワークスペース。入力がジオデータベース テーブルで、出力ワークスペースが dBASE テーブルの場合は、dBASE フィールドの名前が 10 文字以下に制限されるため、フィールド名が切り捨てられる場合があります。新しい名前は、フィールド情報コントロールを使用して確認され、変更される可能性があります。

Workspace;Feature Dataset
field_info
(オプション)

フィールド名を確認、変更する場合や、出力レイヤ内のフィールドのサブセットを非表示にする場合に使用できます。スプリット ポリシーを指定できます。詳細については、使用方法をご参照ください。

Field Info

コードのサンプル

MakeFeatureLayer(フィーチャ レイヤの作成)の例 1(Python ウィンドウ)

次の Python ウィンドウ スクリプトは、MakeFeatureLayer(フィーチャ レイヤの作成)関数をイミディエイト モードで使用する方法を、例を挙げて示したものです。

import arcpy

arcpy.env.workspace = "C:/data/input"
arcpy.MakeFeatureLayer_management("parcels.shp", "parcels_lyr")



MakeFeatureLayer(フィーチャ レイヤの作成)の例 2(スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、MakeFeatureLayer(フィーチャ レイヤの作成)を使用してレイヤを作成する方法を示しています。作成されたレイヤは、Select Layer By Location(空間検索)ツールと Select Layer By Attribute(属性検索)ツールで使用できます。

# Name: ExtractFeaturesByLocationAndAttribute.py
# Description:  Extracts features to a new feature class based on a location and an attribute query.

# Import system modules
import arcpy
from arcpy import env

# Set overwrite option
arcpy.env.overwriteOutput = True

# Put in error trapping in case an error occurs when running tool
try:

   # Make a layer from the feature class
   arcpy.MakeFeatureLayer_management("C:/data/mexico.gdb/cities","cities_lyr")

   # Select all cities that overlap the chihuahua polygon
   arcpy.SelectLayerByLocation_management("cities_lyr", "INTERSECT", "c:/data/mexico.gdb/chihuahua", "", "NEW_SELECTION")

   # Within the selection (done above) further select only those cities that have a population >10,000
   arcpy.SelectLayerByAttribute_management("cities_lyr", "SUBSET_SELECTION", "POPULATION > 10000")

   # Write the selected features to a new featureclass
   arcpy.CopyFeatures_management("cities_lyr", "c:/data/mexico.gdb/chihuahua_10000plus")

except:
   print arcpy.GetMessages()

環境

関連項目

ライセンス情報

ArcView: はい
ArcEditor: はい
ArcInfo: はい

7/10/2012