Mais

Limitações da seleção de linha iterativa no ArcGIS ModelBuilder?


inb4 usando script real;), estou procurando alguns conselhos sobre o construtor de modelos de arco.

A seleção de linha iterativa no construtor de modelo do Arc permite que você faça múltiplas visualizações de tabela com base em agrupamentos de campos de uma tabela. Essas visualizações de tabela podem então ser usadas para outros processos no modelo.

Estou usando as visualizações de tabela para calcular várias variáveis ​​que são preenchidas em um conjunto de dados de recurso diferente. Mais ou menos, estou usando a seleção de linha iterativa para executar processos em conjuntos de registros relacionados (MUITOS) em uma tabela e, em seguida, usando os resultados para preencher uma segunda tabela (UM).

Um dos campos na segunda tabela requer uma variável que é calculada em parte por um grupo de registros que não é o grupo de registros identificado pela seleção de linha iterada. Em outras palavras, até o momento, cada campo requer apenas o conjunto de registros feito em uma visualização de tabela pelo iterador. Mas, como mencionado acima, esse novo campo requer uma visualização de tabela não baseada nas seleções possibilitadas na seleção de linha iterativa - um relacionamento diferente é necessário.

Existem alguns problemas com isso no construtor de modelo. Minha abordagem agora é pegar a saída da variável embutida da seleção de linha iterada e usá-la em uma expressão sql de uma Visualização de Tabela Make separada dentro do modelo. Esta visualização de criação de tabela é baseada na tabela original (usada pelo iterador) com a variável em uma expressão sql de forma que uma coluna diferente seja usada para basear a visualização de criação de tabela para cada iteração. exemplo: "c% Value%" = 1. (na tabela há vários cabeçalhos de coluna que começam com a letra ce um número. | c1 | c2 | c3 | c4 |… c24 |. Meu raciocínio é, com cada iteração, um novo% Value% é produzido (1-24), e com cada novo% Value% a exibição separada de Criar Tabela "deve" produzir uma exibição de tabela com base na variável embutida na expressão, que então pode ser usada para faça os cálculos necessários que podem ser calculados no campo problemático da segunda tabela.

Depois de executar o modelo, descobri que os campos até agora calculam corretamente, mas o campo problemático tem valores que estão completamente errados. Executar a visualização make table de forma independente produz as variáveis ​​corretas, além de calcular esses valores no conjunto de dados de destino, mas quando executado com o iterador, não funciona.


Eu adicionaria uma pré-condição

A partir de:

O "valor" que sai do iterador

Para:

"Criar mesa" (a primeira ferramenta executada em "Final1 (2)")

Isso garantirá que o valor mude a cada vez


Assista o vídeo: ArcGIS Model Builder. Unidad V - Iteradores For (Outubro 2021).