У меня есть более ста FC, каждый с 10 или 20 атрибутами для добавления или изменения псевдонимов, два или более раз в год. Излишне говорить, что это не то, чем я собираюсь прятаться. Как я могу автоматизировать этот процесс?
Решение Python предпочтительнее, но будет использовать все, что работает.
У меня есть доступ к Arcgis 9.3.1 и 10 (уровень лицензии ArcInfo).
arcpy
arcgis-10.0
alias
Мэтт Уилки
источник
источник
Ответы:
Начиная с версии 10.1 AlterAliasName () может использоваться для переименования таблиц:
Начиная с версии 10.3 Alter Field можно использовать для повторного псевдонима полей:
источник
С помощью Марка Седерхольма у меня есть рабочее решение с использованием python и arcobjects . Это грубо по краям, но он сделал свою работу. Следуя рецепту на этой странице, создайте новый скрипт, который использует
GetLibPath, NewObj, CType, OpenFeatureClass
функции изsnippets.py
. Также создайте таблицы поиска переименования в формате .csv:Поиск псевдонима от поля к полю (att_code-name_lookup.csv):
Класс объектов для поиска FC Alias (fc_code-name_lookup.csv):
и сценарий:
источник
Этот код работает для меня в 9.3.1 ...
источник
Еще одно решение предоставлено Робом Кларком :
В python синтаксис для
field_map
детали хитрый, поэтому пройдитесь по нему один раз в интерактивном режиме, чтобы установить параметры прямо, пусть он запускается. Затем перейдите в окно результатов , щелкните правой кнопкой мыши и скопируйте фрагмент кода Python . Вот фрагмент, заново объединенный во что-то немного более простое для расширения и повторного использования (можно было бы проделать большую работу, чтобы разбить части карты поля и свойств):источник
Это решение предназначено для пользователей, которые используют SQL-сервер в качестве базы геоданных. Вы можете вручную изменить его с помощью команды обновления SQL. имя всей функции сохранено в таблице [sde]. [GDB_OBJECTCLASSES]. имя псевдонима устанавливается просто, если вы измените значение столбца псевдонима.
РЕДАКТИРОВАТЬ: этот метод является быстрым методом для изменения имени псевдонима. но использование IClassSchemaEdit лучше, потому что в методе обновления sql нельзя использовать псевдоним до тех пор, пока не будет сброшено рабочее пространство функции.
источник