Saya menulis skrip menggunakan MoveLayer dan Layer Grup sementara untuk membuatnya berfungsi. Pertama buat layer grup baru di mana saja di TOC Anda (tidak peduli apa namanya, itu akan dihapus di akhir). Ini hanya berfungsi berdasarkan asumsi bahwa layer grup sementara ini adalah satu-satunya di mxd. Tentu saja, ini dapat dilewati dengan memberi layer sementara nama konstan (seperti "TempGroup"), dan mengubah skrip untuk menggunakan layer grup itu secara khusus untuk pengurutan.
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0] # Assuming one data frame
group_lyr = [lyr for lyr in arcpy.mapping.ListLayers(mxd) if lyr.isGroupLayer][0] # The temp group layer should be the only one
lyr_names = sorted(lyr.name for lyr in arcpy.mapping.ListLayers(mxd) if lyr.isFeatureLayer)
for name in lyr_names:
arcpy.mapping.MoveLayer(df, group_lyr, arcpy.mapping.ListLayers(mxd, name)[0], "BEFORE")
arcpy.mapping.RemoveLayer(df, group_lyr)
Intinya ada di sini . Saya menggunakan ArcGIS 10.3.1 untuk Desktop.
mxd.save()
del mxd
Tidak ada cara untuk menyortir Daftar Dengan Menggambar Urutan TOC (tanpa pemrograman).
Tetapi dimungkinkan untuk menyortir Daftar Berdasarkan Visibilitas TOC dan Daftar dengan pilihan TOC: Buka tombol opsi pada TOC. Pada tab Preferensi pilih apakah akan mengurutkan lapisan berdasarkan urutan mereka diambil atau menurut abjad berdasarkan nama lapisan ( Urutkan lapisan berdasarkan ).
sumber
ya kamu bisa melakukannya
Mengurutkan daftar isi dalam urutan abjad, silakan temukan detail di: http://resources.arcgis.com/en/help/main/10.1/index.html#//0106000001qt000000
sumber