Uma postagem anterior<\/A> compartilhou cinco trechos de código Python úteis para automatizar tarefas de mapeamento no ArcMap. Esta postagem mostra como realizar essas mesmas tarefas usando a janela Python do ArcGIS Pro<\/A>.<\/P>No ArcGIS Pro, o módulo de mapeamento é chamado arcpy.mp<\/A>. Para testar os trechos abaixo por conta própria, faça uma cópia de um arquivo de projeto do ArcGIS Pro (APRX) e mova-o para algum lugar para fins de teste. Você não precisa ser um programador experiente em Python—simplesmente insira o código abaixo na janela Python e confira os resultados. <\/P>Você logo verá como alguns truques em Python podem acelerar o gerenciamento de mapas.<\/P>Cada trecho abaixo funciona com ArcGIS Pro 1.x, um arquivo de projeto existente, módulo arcpy.mp e Python 3.x.<\/LI><\/UL>Trecho 1: Verificar Consultas de Definição de Camada<\/STRONG><\/SPAN><\/P><\/P>Suponha que você precise verificar se alguma das camadas no seu projeto ArcGIS Pro 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 em cada mapa é trabalhoso.<\/SPAN><\/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 serão "impressos" (ou seja, exibidos na janela Python).<\/SPAN><\/P><\/P>Análise do Código<\/STRONG><\/SPAN><\/P>A primeira linha do código cria uma variável chamada aprx<\/STRONG><\/SPAN> que referencia o projeto aberto usando a função ArcGISProject<\/A> com a palavra-chave CURRENT.<\/SPAN><\/LI>A próxima linha cria uma variável chamada maps <\/STRONG><\/SPAN>usando o método listMaps que retorna uma lista Python de objetos Map no projeto.<\/SPAN><\/LI>Um loop for <\/STRONG><\/SPAN>é usado para iterar por cada mapa.<\/SPAN><\/LI>Para cada mapa, o método listLayers é usado para criar uma lista das camadas.<\/SPAN><\/LI>Outro loop for <\/STRONG><\/SPAN>é usado para iterar pela lista de camadas.<\/SPAN><\/LI>A classe Layer<\/A> possui muitas propriedades acessíveis, incluindo o nome e a consulta de definição da camada. Como nem todos os tipos de camada suportam todas as propriedades, o método supports é usado para testar quais propriedades uma camada suporta.<\/SPAN><\/LI>A última linha do código imprime (exibe) o nome de cada mapa, o nome de cada camada e a consulta de definição de cada camada.<\/SPAN><\/LI><\/UL>Trecho 2: Corrigir Links Quebrados<\/STRONG><\/SPAN><\/P>Em algum momento, você provavelmente moveu dados do mapa de um espaço de trabalho para outro. Já viu aqueles temidos sinais vermelhos de exclamação? <\ /SPAN ><\ /P ><\ P style = " font-size :16 px ; margin-bottom :24 px ; " >< IMG __jive_id = "313147" alt = "Painel Conteúdos do ArcGIS Pro mostrando caminhos quebrados da fonte dos dados da camada" class = "image-2 jive-image j-img-original" src = "https:\/ \/us.v-cdn.net \/6038851 \/uploads \/legacyfs \/online \/313147_Snippet2_BrokenLinks_ed.jpg" style = "height :auto ; " \/ ><\ / P ><\ P style = " font-size :16 px ; margin-bottom :24 px ; " >< SPAN style = " color :#444444 ; font-size :15 px ; " > 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 do espaço de trabalho para todas as camadas e tabelas no seu projeto ao mesmo tempo. Execute as linhas seguintes na janela Python (certifique-se de atualizar os caminhos para refletir seus espaços antigos e novos). <\ / SPAN ><\ / P ><\ P style = " font-size :16 px ; margin-bottom :24 px ; " >< SPAN style = " color :#444444 ; " >< IMG __jive_id = "313151" alt = "Trecho de código Python para reparar caminhos quebrados da fonte dos dados da camada" class = "image-3 jive-image j-img-original" src = "https:\/ \/us.v-cdn.net \/6038851 \/uploads \/legacyfs \/online \/313151_Snippet2_BrokenLinksPython_ed.jpg" style = "width :620 px ; height :96 px ; " \/ ><\ / SPAN ><\ / P ><\ P style = " margin-bottom :24 px ; " >< SPAN style = " color :#f36f20 ; font-weight :bold ; " >< STRONG > Análise do Código <\ / STRONG ><\ / SPAN ><\ / P >< LI >< SPAN style = " font-size :15 px ; " > A primeira linha do código é igual ao exemplo anterior, criando a variável aprx que referencia o projeto aberto do ArcGIS Pro.<\ / SPAN ><\ / LI >< LI >< SPAN estilo=“font-size:15px”>O método updateConnectionProperties é usado para substituir as informações atuais da conexão (primeiro parâmetro) pelas novas informações da conexão (segundo parâmetro) para todas as camadas e tabelas no projeto.<\ / SPAN ><\ / LI >< LI >< SPAN estilo=“font-size:15px”>Saiba mais:Atualizando e corrigindo fontes de dados
No ArcGIS Pro, o módulo de mapeamento é chamado
Você logo verá como alguns truques em Python podem acelerar o gerenciamento de mapas.<\/P>
Trecho 1: Verificar Consultas de Definição de Camada<\/STRONG><\/SPAN><\/P><\/P>Suponha que você precise verificar se alguma das camadas no seu projeto ArcGIS Pro 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 em cada mapa é trabalhoso.<\/SPAN><\/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 serão "impressos" (ou seja, exibidos na janela Python).<\/SPAN><\/P><\/P>Análise do Código<\/STRONG><\/SPAN><\/P>A primeira linha do código cria uma variável chamada aprx<\/STRONG><\/SPAN> que referencia o projeto aberto usando a
Trecho 3: Identificar Camadas com Fonte de Dados Quebrada
Falando desses sinais vermelhos, você também pode usar arcpy.mp para imprimir as camadas que têm links quebrados usando o código abaixo.
Análise do Código
Trecho 4: Inventariar Fontes dos Dados das Camadas
Se você precisa saber a fonte dos dados para todas as camadas no seu projeto, mas não quer abrir a caixa de diálogo Propriedades da Camada para cada uma, simplesmente execute as linhas abaixo na janela Python para imprimir os nomes e fontes dos dados das camadas.
Trecho 5: Combinar Documentos PDF
Talvez você criando um livro de mapas ou talvez você tenha alguns documentos PDF que precisa combinar (como seu relatório de despesas e recibos). Você pode usar arcpy.mp e a classe PDFDocument para manipular documentos PDF. Execute o código abaixo para combinar dois documentos PDF.<\/SPAN><\/P><\/P>Explicação do Código<\/STRONG><\/SPAN><\/P>A primeira linha do código cria uma variável chamada pdf<\/STRONG><\/SPAN> que referencia um documento PDF existente.<\/SPAN><\/LI>O método appendPages é usado para adicionar páginas de um PDF ao final do PDF referenciado.<\/SPAN><\/LI>Para salvar as alterações, o método saveAndClose é utilizado.<\/SPAN><\/LI><\/UL>Quer aprender mais?<\/STRONG><\/SPAN><\/P>Se você quiser aprender mais sobre como trabalhar com a janela Python do ArcGIS Pro ou migrar scripts Python do ArcMap para o ArcGIS Pro, confira estes recursos:<\/SPAN><\/P>Tutorial: Introdução ao arcpy.mp<\/A><\/SPAN><\/LI>Ajuda do ArcGIS: Migrando de arcpy.mapping para ArcGIS Pro <\/A><\/SPAN><\/LI><\/UL>Se você quiser uma introdução ao ArcGIS Pro, estes cursos são recomendados:<\/SPAN><\/DIV> <\/DIV>Introdução ao ArcGIS Pro<\/A><\/SPAN><\/LI>ArcGIS Pro: Fluxos de Trabalho Essenciais<\/A><\/SPAN><\/LI>Migrando do ArcMap para o ArcGIS Pro<\/A><\/LI><\/UL><\/DIV> Esta publicação foi contribuída pela instrutora da Esri Brittney White. Baseada em Washington, D.C., a paixão de Brittney é ajudar os clientes a aprender e aplicar a tecnologia Esri em seu próprio trabalho.<\/SPAN><\/P><\/BODY><\/HTML>
Esta publicação foi contribuída pela instrutora da Esri Brittney White. Baseada em Washington, D.C., a paixão de Brittney é ajudar os clientes a aprender e aplicar a tecnologia Esri em seu próprio trabalho.<\/SPAN><\/P><\/BODY><\/HTML>
I also would like to complement with this:
How to return the data source of a layer
import arcpy aprx = arcpy.mp.ArcGISProject('CURRENT') lyr = maps.listLayers()[0] print("The layer's data source of: " + lyr.name + " is " + lyr.dataSource)
Nicely done. I am looking for an iterator to turn on each data layer in an ArcPro document (that is based off of a complex view in SQL Server, export to PNG, and then go to the next layer and do the same thing.
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.