Python é uma das linguagens mais populares usadas para scriptar tarefas do ArcGIS, talvez porque tenha uma curva de aprendizado relativamente baixa e possa fazer muito. Python está integrado ao ArcGIS Desktop. Você pode criar add-ins e caixas de ferramentas em Python e no ArcMap pode inserir diretamente expressões de rótulo e MapTip em Python, em vez de ter que carregar um arquivo de script. É bom ter essas opções.<\/P>
<\/P>
Em meio a todo o amor pelo Python que circula, alguns dizem que o ModelBuilder é o herói esquecido do mundo da automação do ArcGIS. Eles defendem que o ModelBuilder merece uma fatia maior dos holofotes que estão brilhando sobre o Python. Sempre achei que os profissionais de GIS são pensadores visuais que abraçam a programação por script, então faz sentido que usem tanto Python quanto ModelBuilder para fazer seu trabalho no ArcGIS (e muitos de vocês provavelmente fazem).<\/P>
Mas se houver um debate entre Python vs. ModelBuilder, vou me manter neutro dizendo que ambos são valiosos e têm seu lugar. Quando uma criança mais velha acusa com raiva os pais de favoritismo em relação ao intruso indesejado, pais sábios sabem responder: "Amamos seu irmãozinho tanto quanto<\/EM> amamos você." E assim é com ModelBuilder e Python.<\/P><\/P>Ambos são ferramentas para automatizar fluxos de trabalho de análise GIS, gerenciamento de dados e mapeamento. Ao contrário de Alex e do pequeno Sam, eles podem até brincar bem juntos (você pode adicionar uma ferramenta de script Python a um modelo, e pode exportar um modelo para um script Python).<\/P><\/P>Já ouvi ModelBuilder ser chamado de "linguagem de programação visual." Esta é uma forma interessante de pensar sobre isso, pois é verdade que há muitas coisas que você pode fazer no ModelBuilder que espelham técnicas de programação — como criar variáveis, iterar (fazer loops) através de um conjunto de dados, definir pré-condições e aninhar submodelos dentro de um modelo maior (semelhante a chamar outro script dentro de um script).<\/P><\/P>Vamos lançar um pouco de luz sobre o ModelBuilder caso ele esteja se sentindo deixado de lado. Por que você poderia querer criar um modelo?<\/P><\/P><\/A>Visualizando Fluxos de Trabalho<\/STRONG><\/P><\/P>Um modelo é extremamente útil ao projetar e compartilhar um fluxo de trabalho, especialmente quando é complicado. Você sempre pode desenhar em um quadro branco, mas arrastar e soltar ferramentas em um modelo ganha pontos em eficiência — você pode construir e ajustar dinamicamente o fluxo enquanto pensa nele. Você pode facilmente reorganizar as ferramentas e elementos do modelo e adicionar rótulos de texto para documentar o fluxo e os conjuntos de dados sendo criados. Ao colaborar com outros, comunicar sobre um fluxo usando um modelo é mais eficaz do que ler e rolar por um script. Um modelo é como um mapa — é um meio gráfico que envolve as pessoas e melhora a compreensão. Você pode até exportar um modelo para um arquivo gráfico ou PDF e levá-lo para uma reunião como material impresso.<\/P><\/P>Explorando Resultados e Testando Cenários<\/STRONG><\/P><\/P>Como você executa um modelo dentro do ArcGIS Desktop (ArcGIS Pro ou ArcMap), pode examinar os resultados imediatamente. Dessa forma, um modelo faz parte do tecido diário do seu trabalho GIS. Se a saída do modelo cria uma nova questão para investigar, tudo o que você precisa fazer é alterar um parâmetro do modelo (por exemplo, trocar o conjunto de dados ou valor de entrada de uma ferramenta) e executar novamente o processo ou todo o modelo, então explorar o que isso gera.<\/P><\/P>Com um script, certamente é possível, mas não tão fácil trabalhar iterativamente assim. Você precisa abrir o arquivo do script, encontrar as linhas de código que precisam ser editadas, fazer as edições, salvar o script, executar o script, depois possivelmente abrir o ArcMap e adicionar a saída e talvez algumas outras camadas para contexto. Para facilitar as coisas, você pode começar carregando o script na janela Python no ArcGIS e seguir daí.<\/P><\/P>Identificando Problemas<\/STRONG><\/P><\/P>Uma das coisas legais sobre um modelo é que você pode observar seu progresso enquanto ele roda. À medida que cada processo executa, a ferramenta pisca em vermelho e uma sombra aparece sob seus elementos quando o processo termina. Você pode imediatamente saber onde ocorreu um erro no modelo porque ele para ali. Basta encontrar o primeiro processo que não tem sombra.<\/P><\/P>Depois de corrigir o erro, você pode continuar executando o modelo a partir desse ponto — não precisa voltar ao início. Basta clicar com o botão direito no elemento da ferramenta no processo que falhou e escolher Executar. Identificar a localização de um problema em um script nem sempre é tão rápido.<\/P><\/P>Aplicando Habilidades Que Você Já Tem<\/STRONG><\/P><\/P>A razão mais óbvia para criar um modelo em vez de um script é que você não tem habilidades em scripting, seja Python ou qualquer outra linguagem, e não quer ou não pode investir tempo para aprender scripting. Embora hoje em dia seja relativamente fácil adquirir habilidades básicas em Python. Só da Esri há tutoriais gratuitos, apresentações, seminários de treinamento e cursos online gratuitos ou baratos. As ferramentas geoprocessamento do ArcGIS geram trechos de código Python que você pode examinar para aprender e depois modificar conforme suas necessidades. Habilidades básicas em Python não são suficientes, porém, se você precisar automatizar um fluxo avançado.<\/P><\/P>Modelos encadeiam e executam ferramentas geoprocessamento, então se você é profissional GIS que usa ArcGIS, muito provavelmente já tem as habilidades necessárias para criar um modelo. Configurar corretamente um modelo requer tempo e planejamento, como qualquer outra tarefa. Você precisa entender seus dados, configurações ambientais, parâmetros das ferramentas e saídas desejadas. Existem nuances e capacidades mais avançadas dos modelos sobre as quais talvez precise se informar melhor, mas novamente há muitos recursos para isso (veja a lista no final deste post).<\/P><\/P>No final das contas, a escolha entre automatizar um fluxo ArcGIS usando script ou modelo depende do que você se sente mais confortável fazendo. Python é uma ferramenta baseada em texto guiada por lógica e ModelBuilder é uma ferramenta visual guiada por lógica. Ao alimentar seu apetite culturalmente, às vezes você quer ler um ótimo romance e às vezes quer olhar uma bela pintura. Da mesma forma, pode haver momentos em que você queira escrever um script e outros momentos em que queira criar um modelo. A beleza do ArcGIS é que você pode facilmente fazer ambos dentro do ArcGIS Desktop.<\/P>Posts relacionados:<\/P>ModelBuilder 101 para usuários do ArcGIS Pro<\/A><\/LI>ModelBuilder 101 (ArcMap)<\/A>Recursos para aprender mais sobre ModelBuilder:<\/LI>Opções de treinamento Esri<\/A>Ajuda do ArcGIS (ArcGIS Pro<\/A>, ArcMap<\/A>)<\/UL>Recursos para aprender mais sobre scripting Python:<\/UL>Site Python<\/A>Opções Esri para treinamento em Python<\/A>
Recursos para aprender mais sobre scripting Python:<\/UL>
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.