Describe

サマリ

Describe 関数は、データ タイプ、フィールド、インデックスなどの複数のプロパティを含む Describe オブジェクトを返します。このプロパティは動的です。つまり、Describe 対象のデータ タイプに応じて、別々の Describe プロパティが使用可能になります。

Describe プロパティは、一連のプロパティ グループに編成されています。個々のデータセットは、これらのうち少なくとも 1 つのグループのプロパティを取得します。たとえば、ジオデータベース フィーチャクラスの Describe を実行する場合は、GDB FeatureClassFeatureClassTable、および Dataset の各プロパティ グループからのプロパティにアクセスできます。データ タイプにかかわらず、すべてのデータは常に汎用の Describe オブジェクト プロパティを取得します。

説明

多くのデータ タイプは、他のプロパティ グループのプロパティを含んでいます。たとえば、ジオデータベース フィーチャクラスの Describe を実行する場合は、GDB FeatureClassFeatureClassTable、および Dataset の各プロパティ グループのプロパティにアクセスできます。

注意注意:

Describe が返すオブジェクトに、ドキュメント化されたプロパティのすべてが含まれていない場合があります。たとえば、ArcMap のコンテンツ ウィンドウでは、レイヤの Describe オブジェクトにレイヤ プロパティ セットが含まれません。このプロパティは、*.lyr ファイルの説明を定義する場合にのみ存在します。

Describe オブジェクトに存在しないプロパティにアクセスを試みると、エラーがスローされるか、空の値(None、0 または -1、空の文字列)が返されます。特定のプロパティが存在するかどうか不明の場合は、Python の hasattr() 関数を使用して確認できます。

Describe オブジェクト プロパティArcInfo アイテム プロパティArcInfo テーブル プロパティCAD ドローイング データセット プロパティCAD フィーチャクラス プロパティカバレッジ フィーチャクラス プロパティカバレッジ プロパティデータセット プロパティdBase テーブル プロパティフィーチャクラス プロパティファイル プロパティフォルダ プロパティGDB フィーチャクラス プロパティGDB テーブル プロパティジオメトリック ネットワーク プロパティレイヤ プロパティマップ ドキュメント プロパティモザイク データセット プロパティNetwork Analyst レイヤ プロパティネットワーク データセット プロパティprj ファイル プロパティラスタ バンド プロパティラスタ カタログ プロパティラスタ データセット プロパティリレーションシップ クラス プロパティリプレゼンテーション クラス プロパティスケマティック データセット プロパティスケマティック ダイアグラム プロパティスケマティック フォルダ プロパティSDC フィーチャクラス プロパティシェープファイル フィーチャクラス プロパティテーブル プロパティテーブル ビュー プロパティテキスト ファイル プロパティTIN プロパティツール プロパティツールボックス プロパティトポロジ プロパティVPF カバレッジ プロパティVPF フィーチャクラス プロパティVPF テーブル プロパティワークスペース プロパティ

構文

Describe (value)
パラメータ説明データ タイプ
value

The specified data element or geoprocessing object to describe.

String
リターン
データ タイプ説明
Describe

対象データ エレメントの詳細を示すプロパティを持つオブジェクトを返します。返されるオブジェクトのプロパティには、リテラル値またはオブジェクトを含むものがあります。

コードのサンプル

Describe プロパティの例(スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、スクリプトのパラメータで設定されたレイヤから、レイヤおよび Describe オブジェクトのプロパティを表示します。パラメータは、*.lyr ファイルまたは ArcMap のレイヤのいずれかに設定されます。

import arcpy

# Get the layer as a parameter and describe it.
#
# The layer could be a layer in ArcMap (like "some_layer")
# Or, it could be a .lyr file (like "C:/data/some.lyr")
#
layerString = arcpy.GetParameterAsText(0)
desc = arcpy.Describe(layerString)

# Print selected layer and describe object properties
# 
print "Name:", desc.name
if hasattr(desc, "layer"):
    print "Layer name:", desc.layer.name
    print "Layer data source:", desc.layer.catalogPath
    print ".lyr file:", desc.catalogPath
else:
    print "Layer name:", desc.name
    print "Layer data source:", desc.catalogPath

if desc.fidSet != '':
    print "Number of selected features:", str(len(desc.fidSet.split(";")))

関連項目


7/10/2012