サマリー
Describes a data element and returns a Describe object with multiple properties, such as data type, fields, indexes, and many others. Its properties are dynamic, meaning that depending on the data type described, different describe properties will be available for use.
Describe properties are organized into a series of property groups. Any particular dataset will acquire the properties of at least one of these groups. For example, if describing a geodatabase feature class, you can access properties from the Geodatabase Feature Class, Feature Class, Table, and Dataset property groups. All data, regardless of the data type, will always acquire the generic Describe object properties.
説明
Many data types include properties from other property groups. For example, if describing a geodatabase feature class, you can access properties from the Geodatabase Feature Class, Feature Class, Table, and Dataset property groups.
See arcpy.da.Describe, which returns the same information but as a dictionary.
注意:
In some cases, the object returned by Describe will not have all of the properties that are documented for it. For example, the Describe object for a layer in a map will not have the layer property set. That property only exists if you describe a .lyr file.
If you try to access a property that a Describe object does not have, it will return either an error or an empty value (None, 0 or -1, or an empty string). If you are uncertain of a particular property, you can use the Python hasattr() function to check.
- Describe オブジェクト プロパティ
- ArcInfo Workstation アイテム プロパティ
- ArcInfo Workstation テーブル プロパティ
- 属性ルール プロパティ
- BIM ファイル ワークスペース プロパティ
- CAD ドローイング データセット プロパティ
- CAD フィーチャクラス プロパティ
- カバレッジ フィーチャクラス プロパティ
- カバレッジ プロパティ
- データセット プロパティ
- dBASE テーブル プロパティ
- 編集情報の記録プロパティ
- フィーチャクラス プロパティ
- フィールド グループ プロパティ
- ファイル プロパティ
- フォルダー プロパティ
- ジオデータベース フィーチャクラス プロパティ
- ジオデータベース テーブル プロパティ
- ジオメトリック ネットワーク プロパティ
- Geostatistical レイヤー プロパティ
- LAS データセット プロパティ
- レイヤー プロパティ
- Location Referencing データセット プロパティ
- マップ ドキュメント プロパティ
- モザイク データセット プロパティ
- Network Analyst レイヤー プロパティ
- ネットワーク データセット プロパティ
- パーセル ファブリック プロパティ
- ArcMap 用パーセル ファブリック プロパティ
- 投影情報ファイル プロパティ
- ラスター バンド プロパティ
- ラスター カタログ プロパティ
- ラスター データセット プロパティ
- RecordSet および FeatureSet プロパティ
- RelationshipClass プロパティ
- RepresentationClass プロパティ
- スケマティック データセット プロパティ
- スケマティック ダイアグラム プロパティ
- スケマティック フォルダー プロパティ
- SDC フィーチャクラス プロパティ
- シェープファイル フィーチャクラス プロパティ
- テーブル プロパティ
- TableView プロパティ
- テキスト ファイル プロパティ Text
- Tin プロパティ
- ツール プロパティ
- ツールボックス プロパティ
- トポロジ プロパティ
- トレース ネットワーク プロパティ
- ユーティリティ ネットワーク プロパティ
- VPF カバレッジ プロパティ
- VPF フィーチャクラス プロパティ
- VPF テーブル プロパティ
- ワークスペース プロパティ
構文
Describe (value, {datatype})
パラメーター | 説明 | データ タイプ |
value | The specified data element or geoprocessing object to describe. | String |
datatype | The type of data. This is only necessary when naming conflicts exist, for example, if a geodatabase contains a feature dataset (FeatureDataset) and a feature class (FeatureClass) with the same name. In this case, the data type is used to clarify which dataset will be described. (デフォルト値は次のとおりです None) | String |
データ タイプ | 説明 |
Describe | Returns an object with properties detailing the data element described. Some of the returned object's properties will contain literal values or objects. |
コードのサンプル
The following stand-alone script displays layer and describe object properties from a layer set by a script parameter. The parameter can be set to either a layer file or a layer in a map.
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: {}".format(desc.name))
if hasattr(desc, "layer"):
print("Layer name: {}".format(desc.layer.name))
print("Layer data source: {}".format(desc.layer.catalogPath))
print(".lyr file: {}".format(desc.catalogPath))
else:
print("Layer name: {}".format(desc.name))
print("Layer data source: {}".format(desc.catalogPath))
if desc.FIDSet != '':
print("Number of selected features: {}".format(len(desc.FIDSet.split(";"))))