Tengo un botón python addin que crea un archivo de capa de una clase de característica de polígono en ArcMap. Quiero tomar ese archivo de capa y, con la entrada del usuario desde un combobox, aplicarlo de nuevo a la clase de característica utilizando un campo de valor diferente. Por ejemplo, tengo una clase de característica llamada "nombres" con los siguientes atributos:
Y quiero crear un archivo de capa basado en los valores únicos de Nombre y luego usar ese archivo de capa para mostrar Name_Change1 y Name_Change2 de manera que mis colores permanezcan consistentes para cada valor único (por ejemplo: Finnley es siempre púrpura, Dylan es siempre verde). Esto es posible en ArcMap importando la simbología del archivo de capa y cambiando el campo de valor. Sin embargo, necesito esta funcionalidad en una barra de herramientas de python.
En este momento, estoy creando capas separadas para cada campo y utilizándolas. Esto funciona, pero requiere mucha configuración para utilizar el complemento:
if combobox_value == "Name_Change1":
if arcpy.Exists("Name_Change1.lyr"):
arcpy.ApplySymbologyFromLayer_management(names, "Name_Change1.lyr")
Pero quiero que sea algo así:
if combobox_value == "Name_Change1"
if arcpy.Exists("Name.lyr"):
#assign/change value field of Name.lyr
arcpy.ApplySymbologyFromLayer_management(names, "Name.lyr")
Donde la simbología se extrae siempre de "Nombre.lyr".
Supongo que me gustaría que la herramienta ApplySymbologyFromLayer tuviera un parámetro para el campo de valor, pero no parece ser el caso. Y no he encontrado otra herramienta/método que permita esto. ¿Alguien tiene alguna idea?