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:

  • Solo 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 solo 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 en Propiedades del modelo, lo que simplemente significa que el modelo se ejecutará un número ilimitado de veces o basado 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 del sistema %n%, por ejemplo, C: \Scratch\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: \Scratch\scratch., gdb\output_%Name% C: \Scratch\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 contener un valor constante, pero un valor que cambie con cada iteración; de lo contrario, el archivo se sobrescribirá con cada iteración.
  • 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 la salida de cada iteración para la visualización en ArcMap con el nombre de salida único real en lugar del nombre de la variable:
    1. Conectar la salida que se visualiza a la herramienta Adquirir valores.
    2. Haga clic derecho en la salida de Adquirir valores y marque Agregar a visualización.
    3. 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 solo los parámetros de modelo se agregan a la visualización.

Temas relacionados

9/11/2013