Ejemplo de uso de un iterador en un modelo

Para explicar el uso de un iterador, el modelo del siguiente ejemplo utiliza el iterador Iterar clases de entidad para proyectar todas las clases de entidad de un espacio de trabajo, nombrar cada salida de herramienta de Proyecto dinámicamente basándose en el nombre de entrada utilizando sustitución de variables en línea y agregar un nuevo campo a cada clase de entidad.

  1. Se especifica un espacio de trabajo de entrada para que Iterar clases de entidad recorra en iteración todas las clases de entidad de ese espacio de trabajo.
  2. Las clases de entidad a recorrer se restringen especificando un comodín y un tipo de entidad (sólo se repetirán las clases de entidad poligonal cuyo nombre empiece por I).
  3. Iterar clases de entidades genera dos salidas: la clase de entidad iterada y el nombre de la clase de entidad. La variable de la clase de entidad se conecta como la entrada a la herramienta Proyecto, y la variable de nombre de clase de entidad se utiliza para sustitución de variables en línea y asignar dinámicamente el mismo nombre de la clase de entidad de entrada a cada salida de la herramienta Proyecto.
  4. Se agrega un nuevo campo a cada clase de entidad conectando la herramienta Agregar campo.
Ejemplo de iterador
NotaNota:

  • Sólo se puede utilizar un iterador por modelo. Las opciones para agregar otro iterador se desactivarán si existe un iterador en el modelo.
  • Si se agrega un iterador a un modelo, todas las herramientas del modelo se repetirán para cada valor en el iterador. Si no desea ejecutar cada herramienta del modelo para cada valor iterado, cree un submodelo/modelo dentro de un modelo o modelo anidado que contenga sólo el iterador y agréguelo al modelo principal como una herramienta de modelo.
  • Si se exporta un modelo que contiene un iterador a una secuencia de comandos de Python, dicha secuencia no incluirá la lógica de iteración. Es posible agregar lógica de lista de Python a la secuencia de comandos para conseguir un efecto similar.
  • Utilizar un iterador establecerá el valor predeterminado de -1 en las opciones de iteración de Propiedades del modelo, lo que significa que el modelo se ejecutará un número ilimitado de veces o se basará en el número de entradas de un iterador, y no en un número determinado.
  • La salida de cualquier herramienta conectada al iterador puede tener (o requerir) un nombre único para cada iteración para evitar que se sobrescriban. Para lograr esto puede:
    • Utilizar la variable de sistema %n%, por ejemplo, C:\Sctatch\scratch.gdb\output_%n%.
    • Utilizar la salida Name o Value del iterador utilizado en el modelo como una variable en línea, por ejemplo, C:\Sctatch\scratch.gdb\output_%Name%, C:\Sctatch\scratch.gdb\output_%Value%.
    • Utilizar cualquier otra variable en el modelo como una variable en línea, por ejemplo, si existe una variable XYZ, el nombre de la salida puede ser C:\Scratch\scratch.gdb\output_%XYZ%. (Esta variable no debe utilizar un valor constante).
  • Las salidas de la herramienta con la opción Agregar a visualización marcada, se agregan a la visualización en ArcMap mediante el nombre de la variable. Si desea agregar las salidas de todas las iteraciones a la visualización en ArcMap con el nombre de salida único real en lugar del nombre de la variable, conecte la salida que desea visualizar a la herramienta Adquirir valores, después haga clic con el botón derecho del ratón en la salida de Adquirir valores para marcar la opción Agregar a visualización. Si el modelo se va a ejecutar desde el cuadro de diálogo de la herramienta de modelo, transforme la salida de Adquirir valores en un parámetro de modelo ya que sólo los parámetros de modelo se agregan a la visualización.

Temas relacionados


7/11/2012