import arcpy from arcpy import env from arcpy import mapping env.overwriteOutput = True env.workspace = r"C:\temp\python" folder = env.workspace mxd = mapping.MapDocument(r"C:\temp\python\Scene.mxd") list = [] for df in mapping.ListDataFrames(mxd, "*"): for lyr in mapping.ListLayers(mxd, "*", df): # Find layers within Group Layer if "\\" in lyr.longName: lyrName = str(lyr.name) + ".lyr" list.append(lyrName) # Save layers to .lyr files arcpy.SaveToLayerFile_management(lyr, lyrName) # Remove layers from Group Layer mapping.RemoveLayer(df, lyr) print "Successfully created layer files and removed layers" # Order layer files in alphabetical order list.sort(key=lambda x: x.lower()) # Add layer files to Group Layer in alphabetical order for df in mapping.ListDataFrames(mxd, "*"): for n in list: for lyr in mapping.ListLayers(mxd, "3D", df): targetGroupLayer = lyr addLayer = mapping.Layer(folder + "\\" + n) mapping.AddLayerToGroup(df, targetGroupLayer, addLayer, "BOTTOM") print "Successfully reorderd Group Layer" # Delete lyr files lstFiles = arcpy.ListFiles("*.lyr") for file in lstFiles: arcpy.Delete_management(file) print "Sucessfully deleted layer files" mxd.save() del mxd
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.