Arc GIS 10.1 - Como classificar Camadas ascendentes no TOC em "Listar por ordem de desenho"

8

Eu tenho cerca de 100 recursos no meu projeto ArcMap. Eu escolho no sumário o modo de exibição "Listar por ordem de desenho". Como posso classificar essa lista em ordem ascendente ou por nome alfabética? Sob o campo de opções, não é nada disso. A ordem do desenho deve ser crescente por nome. Ou como posso classificá-los de outra maneira?

Luis
fonte

Respostas:

4

Eu escrevi um script usando o MoveLayer e uma camada de grupo temporária para fazer com que isso funcionasse. Primeiro, crie uma nova camada de grupo em qualquer lugar do seu sumário (não importa como é chamada, ela será excluída no final). Isso funciona apenas com base no pressuposto de que essa camada de grupo temporário é a única no mxd. Obviamente, isso pode ser ignorado, dando um nome constante à camada temporária (como "TempGroup") e alterando o script para usar essa camada de grupo especificamente para a classificação.

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)

A essência está aqui . Estou usando o ArcGIS 10.3.1 for Desktop.

Cindy Jayakumar
fonte
adicione essas linhas no final do código de Cindy Williams:mxd.save() del mxd
newGIS
A alteração acima mencionada é necessária apenas se o script for chamado programaticamente em um mxd existente. A resposta foi escrita com a suposição de que será executada na janela Python no ArcMap.
Cindy Jayakumar
obrigado Cidny, mas ii executado no arquivo python externo.
newGIS 23/06/19
2

Não há como classificar o sumário da lista por ordem de desenho (sem programação).

Mas é possível classificar o sumário da lista por visibilidade e a listagem pela seleção do sumário: Vá para o botão de opção no sumário. Na guia Preferências, escolha se deseja classificar as camadas pela ordem em que são desenhadas ou em ordem alfabética pelo nome da camada ( Classificar camadas por ).

Jens
fonte
Obrigado. Mas conheço as outras formas de classificação. Esri ajuda a descrever esse caminho. Mas não é o meu caso, o que eu preciso. Como posso programá-lo? Encontrei algo com o PLTS, mas não encontrei nada dessa maneira. Obrigado novamente por qualquer conselho.
Luis
0

sim você consegue

Classificando o índice em ordem alfabética, encontre detalhes em: http://resources.arcgis.com/en/help/main/10.1/index.html#//0106000001qt000000

user19022
fonte
1
Parece que isso só é possível quando você tem essa extensão, e não o ArcMap simples.
Devdatta Tengshe