概要
ジオデータベース内のフィーチャクラスの情報 (フィーチャクラス名、エイリアス名、件数等) をCSV形式で出力するためのサンプル コードを紹介いたします。
サンプル コード
# coding:cp932
import arcpy,os
from os.path import join
# ファイルの出力先を指定
f = open(r"C:gis_workfclist.csv", "w")
# 対象のGDB
gdb = r"C:gis_workTestData.gdb"
# ファイルにヘッダを出力
outputstring = u"FGDB名,フィーチャクラス名,エイリアス,ジオメトリタイプ,フィーチャ数n"
f.write(outputstring.encode("SHIFT-JIS"))
arcpy.env.workspace = gdb
# フィーチャクラスから属性を取得
for fc in arcpy.ListFeatureClasses():
fList = []
dataSource = join(gdb,fc)
#フィーチャクラスの名称を取得
name = arcpy.Describe(dataSource).Name
#フィーチャクラスのエイリアスを取得
aliasName = arcpy.Describe(dataSource).AliasName
#フィーチャの件数取得
cnt = arcpy.GetCount_management(dataSource)
#フィーチャタイプ取得
fType = arcpy.Describe(dataSource).FeatureType
#ジオメトリタイプ取得
gType = arcpy.Describe(dataSource).shapeType
#アノテーションの場合
if fType == "Annotation":
gType = "Annotation"
fList.append(gdb)
fList.append(name)
fList.append(aliasName)
fList.append(gType)
fList.append(int(cnt.getOutput(0)))
outputstring = fList[0]
+ "," + fList[1]
+ "," + fList[2]
+ "," + fList[3]
+ "," + str(fList[4]) + "n"
f.write(outputstring.encode("SHIFT-JIS"))
f.close()
こちらのサンプルはあくまでもコーディングの見本であり、実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。また、操作方法やソースコードに関するご質問は別途有償の開発者サポート契約にてご対応させていただきます。なお、コードを実行して生じたいかなる損害についても弊社では責任を負いかねます。
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!