Используя ArcGIS 10.0, возможно ли изменить порядок полей в файловой базе геоданных и сохранить ли порядок в базе данных?
Мы рассмотрели экспорт в XML и написание синтаксического анализатора для изменения порядка полей, а затем воссоздание новой базы данных из XML. Это кажется трудоемким процессом.
Другая идея заключается в том, чтобы импортировать существующие определения полей в Excel, изменить их порядок, экспортировать в CSV, а затем написать скрипт Python для создания этих полей в новой базе геоданных. Существует ли такой сценарий до того, как мы напишем его с нуля?
К сожалению, ArcGIS Diagrammer, похоже, не поддерживает переупорядочение полей.
Есть ли какие-либо скрипты или хаки, которые мы могли бы использовать, чтобы упростить этот процесс?
Ответы:
Как уже упоминалось в комментариях, вы можете изменить порядок полей с помощью ArcGIS Diagrammer. В этом ответе я опубликовал более общую пошаговую инструкцию: как обновить свойство длины поля класса пространственных объектов?
источник
В ответ на другой вопрос , я сказал , что можно использовать сводные статистические данные , чтобы сделать эквивалент PULLITEMS (старый Speak для REORDER полей). Этот метод хорошо работает только для таблиц, но теперь есть еще один скрипт, который говорит, что он работает как для классов пространственных объектов, так и для таблиц.
Я хотел бы также рекомендовать ответ на изменение порядка полей постоянно с помощью ArcGIS Сделать таблицу запроса инструмент? который был вдохновлен ответом @klewis на этот.
источник
Бесплатная версия ET Geowizards сделает это. Основные -> Сортировка фигур. Я только что проверил его на файловой базе геоданных v10, и он работает. Это должно создать новый класс объектов, хотя.
источник
Если у вас нет Visio для Diagramer - все остальные ответы здесь нарушают любые объединения. Я нашел, что это работает хорошо в моем случае:
источник
Вам нужно запустить MakeTableQuery из набора инструментов Layers и Table Views, чтобы изменить порядок полей. Из документации порядок полей в списке полей указывает порядок отображения полей в выходном слое или табличном представлении. Также, если столбец Shape добавлен в список полей, результатом будет слой; в противном случае это табличное представление. Это доступно с любым уровнем лицензии.
источник
С помощью Merge Tool вы можете легко изменить порядок полей. Работает с таблицами и классами пространственных объектов. Изменение порядка можно выполнить с помощью скрипта Python и даже с помощью диалогового окна «Инструмент» (удалив поле и повторно добавив его в диалоговое окно). Хотя изменение порядка в диалоге не идеальный подход.
Рекомендуется один раз использовать инструмент «Слияние», затем использовать « Копировать как Python Snippet», затем вручную изменять порядок полей, а затем вставлять код Python в окна Python.
Вот скрипт Python, который использует инструмент Merge для изменения порядка полей (скопировано здесь )
ИСПОЛЬЗОВАНИЕ:
источник
Существует бесплатное расширение от Esri под названием X-Ray, которое содержит инструмент для изменения порядка полей. Отлично сработал для нас и прост в использовании.
источник
На сегодняшний день самый эффективный способ переименования полей, изменения их порядка по умолчанию и ряда других вещей заключается в использовании Microsoft Access:
GDB_
, открытие таблиц в режиме конструирования таблицПримечания:
Всегда иметь резервную копию тока. Вы работаете непосредственно с внутренней структурой GDB, и вы можете легко уничтожить ваши данные, изменив базу данных до такой степени, что ArcGIS больше не знает, как ее читать.
На стороне ArcGIS есть несколько зарезервированных ключевых слов, которые нельзя использовать для имен полей. Access с радостью создаст или переименует поля с этими ключевыми словами, но когда вы вернете их обратно, к ним автоматически будет добавлено подчеркивание. Так
Current
становитсяCurrent_
. Также обратите внимание на частично перекрывающиеся зарезервированные ключевые слова Access .Персональная GDB имеет ограничение размера файла 2 ГБ, поэтому общий размер всех таблиц и классов объектов в GDB не может превышать этого.
Может быть соблазнительно всегда использовать личные GDB для небольших проектов (<2 ГБ). Не. Производительность ужасна, и в синтаксисе SQL Access есть небольшие различия, которые делают выражения меток, запросы определений и т. Д. Непереносимыми.
источник
Есть Esri How To: Изменить порядок имен полей в решении таблицы атрибутов .
Это требует редактирования XML, но как только вы получите правильную схему, вы в порядке.
источник
Этот Python Script является своего рода методом «клейкой ленты» для этого. Он ограничен 20 полями, но его можно легко добавить, чтобы он мог работать с любым количеством полей, которые есть у ваших данных.
Скрипт предназначен для запуска в качестве инструмента-скрипта, поэтому вам необходимо настроить параметры в ArcCatalog.
Параметры должны быть следующими:
Код:
Я понимаю, что это не самый красивый и эффективный способ сделать это, но на самом деле он работает довольно хорошо, и на его написание ушло всего около получаса. Я использую это все время, когда мне нужно изменить порядок полей, и это не требует Diagrammer или Microsoft Access. Конечно, максимальное количество полей может быть проблемой, но опять же, это может быть настроено в скрипте.
источник