Сегодня утром в списке рассылки ESRI-L возник вопрос о том, как просмотреть или экспортировать все домены кодированных значений для базы геоданных. Цель состоит в том, чтобы представить содержимое доменов в виде таблицы, чтобы их было легко читать.
Инструмент DomainToTable делает это легко для одного домена, но когда доменов много, он быстро становится утомительным. Лучший совет, который я мог бы дать, - это функция пакетной обработки , но даже это требует знания или поиска имен доменов по отдельности.
Конечно, есть лучший способ?
esri-geodatabase
domains
Мэтт Уилки
источник
источник
GDB_Domains
стол? Я открыл персональный GDB с доменами в Access, а его там нет. Я нашелGDB_Items
сDefinition
полем, которое, кажется, содержит домены, но они похоронены в XML.Ответы:
Вот кое-что, что я собрал, которое работает на простых GDB, которые у меня есть под рукой. Я не знаю, как он может или не может обрабатывать подтипы с несколькими доменами (см. Комментарий Брента).
Применение:
Он экспортирует таблицы в тот же GDB, откуда он получает домены. Он потерпит неудачу, если таблицы уже существуют.
Обновленная версия на github: https://github.com/envygeo/arcplus/blob/master/ArcToolbox/Scripts/export_gdb_domains.py . При желании пишет в XLS и перезаписывает существующие таблицы.
Ресурсы:
история
Сначала я пытался использовать каталог результатов и файлы .csv для результатов, но получал сообщение «ОШИБКА 000142: имя поля в таблице dBASE не может быть длиннее 10 символов» . Кажется, он всегда интерпретирует путь как часть имени таблицы (cf
table =
line) {shrug}.[Позже]: @ dgj32784 нашел причину,
'description'
в 11 символов это слишком долго.источник
csv
модуль Python .Вот некоторый код, который экспортирует все домены в файлы Excel. Кроме того, вы получаете сообщение об ошибке при попытке экспорта в DBF, поскольку слово «описание» имеет длину 11 символов.
РЕДАКТИРОВАТЬ: фиксированный формат печати (строка 20)
источник