Arc GIS 10.1 - Cómo ordenar las capas ascendentes en TOC en "Lista por orden de dibujo"

8

Tengo unas 100 características en mi proyecto ArcMap. Elijo en TOC el modo de Vista "Lista por orden de dibujo". ¿Cómo puedo ordenar esta lista de forma ascendente o por nombre alfabético? Debajo del campo de opciones, no hay nada como esto. El orden de dibujo debe ser ascendente por nombre. ¿O cómo puedo ordenarlos de otra manera?

Luis
fuente

Respuestas:

4

Escribí un script usando MoveLayer y una capa de grupo temporal para que esto funcione. Primero cree una nueva capa de grupo en cualquier lugar de su TOC (no importa cómo se llame, se eliminará al final). Esto solo funciona en base al supuesto de que esta capa de grupo temporal es la única en el mxd. Por supuesto, esto puede pasarse por alto dando a su capa temporal un nombre constante (como "TempGroup") y cambiando el script para usar esa capa de grupo específicamente para la clasificación.

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)

Gist está aquí . Estoy usando ArcGIS 10.3.1 para escritorio.

Cindy Jayakumar
fuente
agregue esas líneas al final del código de Cindy Williams:mxd.save() del mxd
newGIS
El cambio mencionado anteriormente solo es necesario si el script se llama mediante programación en un mxd existente. La respuesta se escribió asumiendo que se ejecutará en la ventana de Python en ArcMap.
Cindy Jayakumar
gracias Cidny, pero yo corro en un archivo python externo.
newGIS
2

No hay forma de ordenar la lista por orden de dibujo TOC (sin programación).

Pero es posible ordenar el TOC de Lista por visibilidad y el Listado por TOC de selección : Vaya al botón de opción en el TOC. En la pestaña Preferencias, elija si ordenar las capas por el orden en que se dibujan o alfabéticamente por nombre de capa ( Ordenar capas por ).

Jens
fuente
Gracias. Pero conozco las otras formas de clasificación. La ayuda de Esri describe esas formas. Pero no es mi caso lo que necesito. ¿Cómo puedo programarlo? Encontré algo con PLTS pero no encontré nada de esa manera. Gracias de nuevo por cualquier consejo.
Luis
0

Sí, tú puedes hacerlo

Ordenando la tabla de contenido en orden alfabético, encuentre detalles en: http://resources.arcgis.com/en/help/main/10.1/index.html#//0106000001qt000000

usuario19022
fuente
1
Esto parece posible solo cuando tiene esta extensión, y no ArcMap simple.
Devdatta Tengshe