Este é o terceiro post de uma série em três partes sobre a criação de modelos de geoprocessamento no ArcGIS.<\/EM><\/P><\/P>Se você leu os posts anteriores desta série, já domina o básico da modelagem e sabe como adicionar parâmetros ao modelo para facilitar a reutilização e o teste de cenários. Neste post, você aprenderá algumas técnicas para fazer mais com menossforço, isto é. <\/P><\/P>Variáveis de Lista<\/STRONG><\/P><\/P>No último post<\/A>, você aprendeu como transformar um parâmetro de ferramenta em uma variável e como transformar uma variável em um parâmetro do modelo. Por padrão, uma variável armazena um único valor. No entanto, é possível armazenar múltiplos valores em uma variável. Quando isso acontece, a variável é chamada de variável de lista.<\/P><\/P>Quando uma variável de lista está conectada a uma ferramenta de geoprocessamento, essa ferramenta e todos os processos subsequentes (todos os processos que dependem da saída da ferramenta) serão executados automaticamente uma vez para cada valor na lista. Isso mesmo: quando você define uma variável de lista, as ferramentas do modelo sabem automaticamente processar cada item da lista.<\/P><\/P>Usar variáveis de lista é como executar ferramentas de geoprocessamento em modo batchom a grande vantagem de que você precisa inserir a lista de valores apenas uma vez para realizar o processamento múltiplo das ferramentas.<\/P><\/P>Considere o modelo abaixo, que automatiza um fluxo típico de trabalho de gerenciamento de dados.<\/P><\/P><\/A><\/P>Este modelo cria um file geodatabase, converte um shapefile para uma feature class do geodatabase, remove feições duplicadas, define o sistema de coordenadas para a feature class e gera uma camada com feições selecionadas. Note que o modelo tem até dois parâmetros. É um fluxo completo que funciona muito bem quando um único shapefile precisa ser processado.<\/P><\/P>No entanto, ele não é suficiente quando múltiplos shapefiles precisam ser processados. O modelo teria que ser executadomanualmentevárias vezes para processar todos os shapefiles.Não seria melhor executar o modelo uma vez e ter todo o trabalho feito? <\/P><\/P>Criar uma variável de lista vai conseguir isso.Para criar uma variável de lista neste exemplo:<\/P><\/P><\/P>Clique com o botão direito na variável de entrada da ferramenta Feature Class to Feature Class e clique em Propriedades, depois clique em "Uma lista de valores." Clique em OK.<\/LI>Dê um duplo clique na variável para abri-la e insira cada valor.<\/LI><\/OL><\/DIV>Mais sobre variáveis de lista<\/A><\/LI><\/UL><\/P>Substituição inline de variáveis<\/STRONG><\/P><\/P>Com variáveis de lista, as ferramentas são executadas várias vezes para processar cada entrada. Por padrão, no entanto, os nomes das saídas das ferramentas serão os mesmos isso significa que todas as saídas dos itens da lista, exceto a última, serão sobrescritas.Para superar isso, usesubstituição inline de variáveis<\/A>.<\/P><\/P>Existem dois tipos de variáveis que podem ser substituídas nos processos: variáveis do modelo e variáveis do sistema. Para usar uma variável do modelo na substituição inline, basta inserir o nome da variável cercado por sinais percentuais.<\/P>A variável do sistema %i% é frequentemente usada para adicionar um número sequencial único ao final dos nomes das saídas. A numeração dos itens da lista começa em 0 (o nome da saída do primeiro item terá um 0 anexado).<\/P>Neste exemplo, você abriria a ferramenta Feature Class to Feature Class e adicionaria um i minúsculo cercado por sinais percentuais ao final do nome da feature class de saída (ASAM neste caso).<\/P><\/P>
<\/P>
Quando uma variável de lista está conectada a uma ferramenta de geoprocessamento, essa ferramenta e todos os processos subsequentes (todos os processos que dependem da saída da ferramenta) serão executados automaticamente uma vez para cada valor na lista. Isso mesmo: quando você define uma variável de lista, as ferramentas do modelo sabem automaticamente processar cada item da lista.<\/P>
Usar variáveis de lista é como executar ferramentas de geoprocessamento em modo batchom a grande vantagem de que você precisa inserir a lista de valores apenas uma vez para realizar o processamento múltiplo das ferramentas.<\/P>
Considere o modelo abaixo, que automatiza um fluxo típico de trabalho de gerenciamento de dados.<\/P>
Este modelo cria um file geodatabase, converte um shapefile para uma feature class do geodatabase, remove feições duplicadas, define o sistema de coordenadas para a feature class e gera uma camada com feições selecionadas. Note que o modelo tem até dois parâmetros. É um fluxo completo que funciona muito bem quando um único shapefile precisa ser processado.<\/P>
No entanto, ele não é suficiente quando múltiplos shapefiles precisam ser processados. O modelo teria que ser executadomanualmentevárias vezes para processar todos os shapefiles.Não seria melhor executar o modelo uma vez e ter todo o trabalho feito? <\/P>
Criar uma variável de lista vai conseguir isso.Para criar uma variável de lista neste exemplo:<\/P>
Substituição inline de variáveis<\/STRONG><\/P><\/P>Com variáveis de lista, as ferramentas são executadas várias vezes para processar cada entrada. Por padrão, no entanto, os nomes das saídas das ferramentas serão os mesmos isso significa que todas as saídas dos itens da lista, exceto a última, serão sobrescritas.Para superar isso, use
Existem dois tipos de variáveis que podem ser substituídas nos processos: variáveis do modelo e variáveis do sistema. Para usar uma variável do modelo na substituição inline, basta inserir o nome da variável cercado por sinais percentuais.<\/P>
A variável do sistema %i% é frequentemente usada para adicionar um número sequencial único ao final dos nomes das saídas. A numeração dos itens da lista começa em 0 (o nome da saída do primeiro item terá um 0 anexado).<\/P>
Neste exemplo, você abriria a ferramenta Feature Class to Feature Class e adicionaria um i minúsculo cercado por sinais percentuais ao final do nome da feature class de saída (ASAM neste caso).<\/P>
<\/>Usar a variável do sistema garante que o modelo processe corretamente e crie as três saídas necessárias. No entanto, os nomes das saídas não são descritivos. Você poderia renomeá-los depois, mas por que não automatizar esse trabalho agora?<\/> <\/><\/><\/>Ferramentas Apenas para Modelos<\/>O ModelBuilder inclui um conjunto de ferramentas disponíveis\u00a0apenas\u00a0para modelos que serão executados dentro do ModelBuilder (ou seja, elas não funcionarão quando o modelo for executado como uma ferramenta). A ferramenta Parse Path<\/> permite separar um caminho de entrada em suas partes componentes e depois referenciar essas partes nos processos subsequentes.Neste exemplo, a ferramenta Parse Path é uma alternativa melhor ao uso da variável do sistema para os processos do modelo. Ela permite que os nomes dos shapefiles de entrada sejam usados nos nomes das saídas em vez de números criptográficos.<\/> Nota:<\/> Para processos que criam dados intermediários, usar uma variável do sistema é uma boa solução quando os nomes das saídas precisam ser únicos mas você não precisa se preocupar com esses nomes causando confusão.<\/> Para adicionar a ferramenta Parse Path:\u00a0 Clique no menu Inserir > Ferramentas Apenas para Modelos > Parse Path.<\/> No painel do modelo, abra a ferramenta Parse Path. Para Elemento de Dados de Entrada, escolha Input Shapefile.<\/> Para Tipo de Análise (Parse Type), escolha Nome (Name), depois clique em OK.<\/> Conecte a saída Parse Path (Valor) à ferramenta Feature Class to Feature Class como Output Feature Class.<\/>
<\/P>Publicações relacionadas:<\/STRONG><\/P>ModelBuilder 101<\/A><\/LI>ModelBuilder 220: Add Flexibility<\/A><\/LI><\/UL>Para prática prática com ModelBuilder, este curso e-learning<\/A> é recomendado.<\/P><\/BODY><\/HTML>
Publicações relacionadas:<\/STRONG><\/P>
Para prática prática com ModelBuilder, este
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.