Você tem pensado em experimentar a janela Python do ArcMap <\/SPAN>Python<\/A>, mas não tem certeza de como começar? Bem, os cinco trechos de código abaixo são uma ótima ferramenta para se familiarizar com a janela Python e o <\/SPAN>módulo arcpy.mapping<\/A>. Faça uma cópia de um arquivo MXD e mova-o para algum lugar para testar esses trechos. Você logo verá como alguns truques em Python podem ser úteis para tarefas de gerenciamento de mapas.<\/SPAN><\/P>Cada trecho abaixo funciona com ArcMap 10.x, um documento de mapa existente (arquivo MXD), módulo arcpy.mapping e Python 2.x.<\/LI><\/UL>Você não precisa conhecer nenhuma sintaxe Python para usar esses trechos. Simplesmente insira o código na janela Python e confira os resultados.<\/P>Trecho 1: Verificar Consultas de Definição de Camada<\/STRONG><\/SPAN><\/P>Suponha que você precise verificar se alguma das camadas no seu documento de mapa tem uma consulta de definição aplicada e, se sim, visualizar essas consultas. Abrir a caixa de diálogo Propriedades da Camada para cada camada é trabalhoso.<\/P> <\/P>Solução: Abra a janela Python e execute o código abaixo. O nome e a consulta de definição de todas as camadas do mapa serão "impressos" (ou seja, exibidos na janela Python).<\/P>
<\/P>Análise do Código<\/STRONG><\/SPAN><\/P>A primeira linha do código cria uma variável chamada mxd<\/STRONG><\/SPAN> que referencia o documento de mapa aberto usando a palavra-chave CURRENT<\/A>..<\/SPAN><\/LI>A função ListLayers<\/A> é usada para criar uma lista de todas as camadas no documento do mapa e o laço for<\/STRONG><\/SPAN> é usado para iterar por cada camada no mapa.<\/LI>A classe Layer<\/A> possui muitas propriedades<\/A> que podem ser acessadas, incluindo a consulta de definição para uma camada. Como nem todos os tipos de camada suportam todas as propriedades, o método supports<\/A> é usado para testar quais propriedades uma camada suporta. A última linha do código imprime (exibe) o nome de cada camada e sua consulta de definição.
Trecho 2: Corrigir Links Quebrados
Em algum momento, você provavelmente moveu dados do mapa de um espaço de trabalho para outro. Já viu aqueles temidos pontos de exclamação vermelhos?

Se o caminho para as camadas do mapa mudou, com apenas algumas linhas de código você pode rapidamente encontrar o caminho antigo do espaço de trabalho e substituí-lo pelo novo caminho para todas as camadas e tabelas no seu documento de mapa ao mesmo tempo. Execute as linhas abaixo na janela Python (certifique-se de atualizar os caminhos para refletir seus espaços antigos e novos).

Análise do Código
- A primeira linha do código é igual ao exemplo anterior, criando a variável mxd que referencia o documento aberto.
- O método
findAndReplaceWorkspacePaths é usado para buscar camadas que possuem o espaço antigo (primeiro parâmetro) e atualizar para o novo espaço (segundo parâmetro) em todas as camadas e tabelas do documento.A função RefreshActiveView é usada para visualizar as mudanças na tabela de conteúdos e no mapa.
Trecho 3: Identificar Camadas com Fonte Quebrada
Falando nesses pontos vermelhos, você também pode usar arcpy.mapping para imprimir as camadas que têm links quebrados usando o código abaixo.

Análise do Código
- A primeira linha cria uma variável chamada mxd que referencia o documento aberto, assim como nos exemplos anteriores.
- Como no primeiro exemplo, a função ListLayers cria uma lista com todas as camadas do documento.
- Em seguida, o laço for itera por cada camada, imprimindo o nome e a propriedade isBroken da camada.
Trecho 4: Inventariar Fontes dos Dados das Camadas
Se você precisa saber a fonte dos dados para todas as camadas em seu mapa, mas não quer abrir a caixa Propriedades da Camada para cada uma, simplesmente execute as linhas abaixo na janela Python para imprimir os nomes e o caminho do espaço das camadas.

Análise do Código
- Como nos exemplos anteriores, a primeira linha cria a variável mxd, referenciando o documento aberto (já está pegando o jeito?).
- Novamente, a função ListLayers cria uma lista com todas as camadas que você pode iterar usando o laço for.
Neste exemplo, você imprime as propriedades name e workspacePath da camada. Como nem todas as camadas têm um caminho workspace (por exemplo, serviços web), usa-se o método supports .
Trecho 5: Combinar Documentos PDF
Talvez você esteja criando um livro de mapas ou tenha alguns documentos PDF que precisa combinar (como seu relatório de despesas e recibos). Você pode usar arcpy.mapping e a classe PDFDocument para manipular documentos PDF. Execute o código abaixo para combinar dois documentos PDF.

Análise do Código
- A primeira linha cria uma variável chamada
pdf
que referencia um documento PDF existente.
- O método appendPages é usado para adicionar páginas de um PDF ao final do PDF referenciado.
- Para salvar as alterações, usa-se o método saveAndClose.
Quer aprender mais?
Se quiser aprender mais sobre trabalhar com a janela Python do ArcMap ou criar scripts Python independentes, estes recursos são recomendados:
Esta publicação foi contribuída pela instrutora da Esri @Brittney White.