これは、手元にある単純なgdbで機能するものです。複数のドメインを持つサブタイプを処理する方法としない方法を知りません(ブレントのコメントを参照)。
使用法:
python export_gdb_domains.py [input geodatabase]
ドメインを取得しているのと同じgdbにテーブルをエクスポートします。テーブルが既に存在する場合は失敗します。
''' Export all coded value domains in a geodatabase to tables in that gdb '''
import os, sys
import arcpy
gdb = sys.argv[0]
desc = arcpy.Describe(gdb)
domains = desc.domains
for domain in domains:
print 'Exporting %s CV to table in %s' % (domain, gdb)
table = os.path.join(gdb, domain)
arcpy.DomainToTable_management(gdb, domain, table,
'field','descript', '#')
https://github.com/envygeo/arcplus/blob/master/ArcToolbox/Scripts/export_gdb_domains.pyにあるgithubの更新バージョン。オプションで、XLSに書き込み、既存のテーブルを上書きします。
リソース:
歴史
最初に出力ディレクトリと.csvファイルを使用して結果を取得しようとしましたが、「エラー000142:dBASEテーブルのフィールド名は10文字を超えることはできません」というメッセージが表示され続けました。パスは常にテーブル名(cf table =
line){shrug}の一部として解釈されるようです。
[後で]: @ dgj32784が原因を見つけました。11'description'
文字では長すぎます。