Tengo más de cien FC, cada uno con 10 o 20 atributos para agregar o cambiar los alias, dos o más veces al año. No hace falta decir que esto no es algo por lo que voy a gruñir. ¿Cómo puedo automatizar este proceso?
Se prefiere la solución Python, pero usará todo lo que funcione.
Tengo acceso a Arcgis 9.3.1 y 10 (nivel de licencia de ArcInfo).
arcpy
arcgis-10.0
alias
wilkie mate
fuente
fuente
Respuestas:
A partir de la versión 10.1, AlterAliasName () se puede usar para volver a crear alias de tablas:
A partir de la versión 10.3, Alter Field se puede utilizar para volver a crear alias de los campos:
fuente
Con la ayuda de Mark Cederholm, tengo una solución de trabajo que utiliza python y arcobjects . Es duro por los bordes, pero hizo el trabajo. Después de seguir la receta en esa página, cree un nuevo script que use las
GetLibPath, NewObj, CType, OpenFeatureClass
funciones desnippets.py
. También cree las tablas de búsqueda de cambio de nombre en formato .csv:Búsqueda de alias de campo a campo (att_code-name_lookup.csv):
Clase de entidad para la búsqueda de FC Alias (fc_code-name_lookup.csv):
y el guión:
fuente
Este código me funciona en 9.3.1 ...
fuente
Otra solución cortesía de Rob Clark :
En python, la sintaxis de la
field_map
parte es complicada, así que repítela una vez de manera interactiva para establecer los parámetros correctamente, déjelo funcionar. Luego vaya a la ventana de resultados , haga clic con el botón derecho y Copie el fragmento de Python . Aquí hay un fragmento combinado en algo un poco más fácil de extender y reutilizar (podría hacerse más trabajo para separar las partes del mapa de campo y las propiedades):fuente
Esta solución es para usuarios que usan el servidor SQL como geodatabase. puede cambiarlo manualmente mediante un comando de actualización SQL. el nombre de todas las funciones se guarda en la tabla [sde]. [GDB_OBJECTCLASSES]. el nombre de alias se establece simplemente si cambia el valor de la columna de alias.
EDITAR: este método es un método rápido para cambiar el nombre del alias. pero usar IClassSchemaEdit es mejor porque en el método de actualización SQL no puede usar el nombre de alias hasta que se restablezca el espacio de trabajo de la función.
fuente