J'ai plus d'une centaine de FC, chacun avec 10 ou 20 attributs pour ajouter ou modifier les alias, deux fois ou plus par an. Inutile de dire que ce n'est pas quelque chose que je vais grogner. Comment puis-je automatiser ce processus?
La solution Python est préférée mais utilisera tout ce qui fonctionne.
J'ai accès à Arcgis 9.3.1 et 10 (niveau de licence ArcInfo).
arcpy
arcgis-10.0
alias
Matt Wilkie
la source
la source
Réponses:
Depuis la version 10.1, AlterAliasName () peut être utilisé pour recréer des alias de tables:
À partir de la version 10.3, Alter Field peut être utilisé pour renommer les champs:
la source
Avec l'aide de Mark Cederholm, j'ai une solution de travail utilisant python et arcobjects . C'est rude sur les bords, mais ça a fait le travail. Après avoir suivi la recette sur cette page, créez un nouveau script qui utilise les
GetLibPath, NewObj, CType, OpenFeatureClass
fonctions desnippets.py
. Créez également les tables de recherche renommées au format .csv:Recherche d'alias de champ à champ (att_code-name_lookup.csv):
Classe d'entités vers la recherche d'alias FC (fc_code-name_lookup.csv):
et le script:
la source
Ce code fonctionne pour moi dans 9.3.1 ...
la source
Une autre solution gracieuseté de Rob Clark :
En python, la syntaxe de la
field_map
partie est délicate, alors parcourez-la une fois de manière interactive pour définir les paramètres directement, laissez-la s'exécuter. Ensuite, allez dans la fenêtre des résultats , cliquez sur le bouton r et cliquez sur Copier l'extrait de python . Voici un extrait re-combiné en quelque chose d'un peu plus facile à étendre et à réutiliser (plus de travail pourrait être fait pour séparer les morceaux de la carte de champ et des propriétés):la source
Cette solution est destinée aux utilisateurs qui utilisent SQL Server comme géodatabase. vous pouvez le modifier manuellement par une commande de mise à jour SQL. le nom de toutes les fonctionnalités est enregistré dans la table [sde]. [GDB_OBJECTCLASSES]. le nom d'alias défini simplement si vous modifiez la valeur de la colonne d'alias.
EDIT: cette méthode est une méthode rapide pour changer le nom d'alias. mais l'utilisation de IClassSchemaEdit est meilleure car dans la méthode de mise à jour SQL, vous ne pouvez pas utiliser le nom d'alias jusqu'à la réinitialisation de l'espace de travail de la fonctionnalité.
la source