Definindo um local de saída único para vários arquivos no ModelBuilder?

8

Eu criei um modelo no ModelBuilder. O primeiro passo é o usuário especificar o local do Geodatabase de Arquivos no qual todas as saídas serão salvas. O que eu quero é que todas as saídas (das diferentes ferramentas do modelo) sejam salvas nesse FGDB; no entanto, poderia ser chamado de qualquer coisa e localizado em qualquer lugar.

Então, como faço para que a saída seja salva no local especificado na primeira etapa?

MapMan
fonte

Respostas:

8

Esta página no site da Esri deve fornecer todas as informações necessárias para você fazer isso no ModelBuilder. Essencialmente, você cria uma variável para a pasta / geodatabase de saída - que pode ser gerada ou codificada pelo usuário - e depois a chama nas outras ferramentas por seu nome, cercada por %símbolos.

nmpeterson
fonte
2

Primeiro, crie um script e defina a classe do recurso de entrada e os parâmetros do caminho da área de trabalho de saída. Em seguida, exporte o modelo para script python ou vbs. Em seguida, você pode editar o código para usar a variável da área de trabalho de saída para todas as ferramentas intermediárias, com base na área de trabalho de saída original que o usuário define.

O exemplo abaixo ilustra isso usando o arcpy, no entanto, você precisará usar apenas python ou vbs, pois está usando a versão 9.3.1 e não a 10.

por exemplo

    inputlayer = arcpy.GetParameterAsText(0)
    outputpath = arcpy.GetParameterAsText(1)

    # Process: Buffer
    arcpy.Buffer_analysis(inputlayer, outputpath + "\\buffer.shp", "50 Feet", "FULL", "ROUND", "NONE", "")

    # Process: Select
    arcpy.Select_analysis(outputpath + "\\buffer.shp", outputpath + "\\bufferSelect.shp", "")
artwork21
fonte
Eu esperava fazer tudo isso no ModelBuilder, em vez de exportá-lo. Eu já dei uma olhada em alguns modelos que a pessoa que costuma trabalhar aqui antes de mim, e ele definiu seu FGDB na 1ª etapa, depois usou "% Temp FGDB%" para as outras saídas, mas não consigo parecer para fazê-lo funcionar.
MapMan
1
%Temp FGDB%funcionaria se você alterasse o nome do balão de parâmetros no ModelBuilder para Temp FGDB: seja qual for o nome do balão de parâmetros, é como ele pode ser referenciado nas outras ferramentas.
Npmeterson
1

Eu descobri uma maneira simples de fazer isso no construtor de modelos. Digamos que você esteja repetindo alguns arquivos para fazer um clipe para todos eles.

1) Crie um interator para classes de recursos. Clique com o botão direito e faça uma variável para o espaço de trabalho.

2) Renomeie o balão da área de trabalho para "Área de trabalho", clique também com o botão direito do mouse e selecione "criar parâmetro". Isso solicitará que você entre na pasta que contém os arquivos quando executar o modelo como ferramenta.

3) adicione a ferramenta de clipe. execute uma linha do balão de saída "FeatureClass" do iterador para a ferramenta de clipe e selecione o recurso de entrada.

1) adicione a ferramenta "Criar pasta", clique com o botão direito do mouse e crie duas variáveis, nome e local.

2) faça o nome da pasta como você deseja. Eu usei "Saída"

3) Para o local: No meu caso, eu já tinha a pasta em que queria que a pasta de saída residisse. Era a pasta principal que eu usei como entrada para o iterador. Lembre-se de renomeá-la para "Área de trabalho". Agora podemos nos referir a esse local digitando:

%workspace%

no balão de localização da ferramenta de criação de pasta.

4) Agora, você usa a ferramenta conector para desenhar uma linha da saída da ferramenta "Criar pasta" (denominada "Pasta de saída" para mim) até o balão do iterador principal). Ele exibirá uma pequena caixa de diálogo, escolha a opção "pré-condição". Isso indica que ele precisa criar a pasta antes de executar esta seção.

5) Finalmente, na saída da sua ferramenta de clipe, você pode digitar:

%Output Folder%\%Name%_clip.shp

A% Pasta de saída% faz referência ao balão de saída da pasta que criamos. o iterador cria um balão chamado "Nome" para você, portanto, referenciamos isso em% Name%. Em seguida, adiciono um sufixo para deixar claro que é uma saída da ferramenta de clipe.

Espero que ajude! Adão

Adam B
fonte
0

Você pode usar a ferramenta "classes de recursos em um geodatabase" na parte superior do construtor de modelos, onde é possível conectar muitas saídas a ele. Você precisará apenas especificar sua localização.

Mehdi
fonte