Вместо того, чтобы пытаться использовать приложение ArcMap в одиночку, я привел ArcPy в картину.
Я только что протестировал и выполнил то, что вы описали, используя класс UniqueValuesSymbology (arcpy.mapping), который имеет доступное для записи свойство classDescription, которое может быть установлено в:
Список строк или чисел, представляющих описания для каждого уникального значения, которое может дополнительно отображаться в легенде документа карты. Эти значения доступны только в пользовательском интерфейсе ArcMap, если щелкнуть правой кнопкой мыши символ, отображаемый на вкладке Символы в диалоговом окне Свойства слоя, и выбрать Редактировать описание. Список classDescription должен иметь такое же количество элементов и располагаться в том же порядке, что и свойство classValues.
Код использует Курсор Поиска, чтобы прочитать таблицу поиска в список , а затем записать этот список в свойство classDescription класса символов слоя. Обратите внимание, что таблица поиска ДОЛЖНА иметь такое же количество строк и быть в том же порядке, что и значения уникальной классификации символов . Мой код должен быть улучшен, чтобы учесть, что это не так, но в моем тестовом случае было легко убедиться в этом порядке вручную.
import arcpy
vegDescList = []
vegCodes = arcpy.SearchCursor(r"C:\temp\test.gdb\LookupTable")
for vegCode in vegCodes:
vegDescList.append(vegCode.Description)
mxd = arcpy.mapping.MapDocument(r"C:\temp\test.mxd")
lyr = arcpy.mapping.ListLayers(mxd,"testFC")[0]
if lyr.symbologyType == "UNIQUE_VALUES":
lyr.symbology.classDescriptions = vegDescList
mxd.save()
del mxd