Daripada mencoba menggunakan aplikasi ArcMap sendirian, saya telah membawa ArcPy ke dalam gambar.
Saya baru saja menguji dan mencapai apa yang Anda gambarkan menggunakan kelas UniqueValuesSymbology (arcpy.mapping) yang memiliki properti classDescription yang dapat ditulis yang dapat diatur ke:
Daftar string atau angka yang mewakili deskripsi untuk setiap nilai unik yang secara opsional dapat muncul dalam legenda dokumen peta. Nilai-nilai ini hanya dapat diakses di antarmuka pengguna ArcMap dengan mengklik kanan simbol yang ditampilkan dalam tab Simbologi di kotak dialog Layer Properties dan memilih Edit Deskripsi. Daftar classDescription perlu memiliki jumlah elemen yang sama dan disusun dalam urutan yang sama dengan properti classValues.
Kode menggunakan kursor pencarian untuk membaca tabel pencarian ke dalam daftar , dan kemudian menulis daftar itu ke properti classDescription dari kelas simbologi layer. Perhatikan bahwa tabel pencarian HARUS memiliki jumlah baris yang sama dan berada dalam urutan yang sama dengan nilai klasifikasi simbologi yang unik . Kode saya perlu ditingkatkan ke akun yang tidak menjadi kasus tetapi memastikan pesanan itu secara manual mudah dalam kasus pengujian saya.
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