CÓMO

Restringir la creación de entidades al utilizar conjuntos de entidades en ModelBuilder

Last Published: April 25, 2020

Resumen

En algunos casos, es necesario introducir entidades interactivas creadas por el usuario al ejecutar un modelo con conjuntos de entidades. El problema es que, con frecuencia, el creador del modelo desea restringir al usuario para que no introduzca un número mayor del mínimo o máximo de entradas requeridas.

Esta solución no impide al usuario seleccionar un número mayor que mínimo o máximo de entradas requeridas mediante una ventana emergente de error o advertencia, sino que ejecuta el modelo sin ninguna salida.

Procedimiento

En un escenario de ejemplo, el usuario ya tiene un modelo que utiliza conjuntos de entidades en su modelo que agrega una clase de entidad de escuelas (Escuelas existentes) mediante la adición de ubicaciones a través de las capacidades interactivas de conjuntos de entidades (Nuevas ubicaciones de escuelas); el creador del modelo desea restringir al usuario del modelo para que no introduzca más de dos puntos cada vez.

A continuación aparece el modelo completado : utiliza datos de ejemplo como escenario; lo único que se necesita es la parte de Obtener conteo y Calcular valor .

Dado que Conjunto de entidades (como entrada a una herramienta) ya forma parte del modelo que se va a modificar:

  1. Inserte la herramienta Obtener conteo como condición previa de la herramienta Calcular valor.
  2. Inserte la herramientaCalcular valor como condición previa de la herramienta a la que el Conjunto de entidades se conectaría en el modelo original, en este caso, la herramienta Incorporar.
  3. Agregue la herramienta Obtener conteo con el Conjunto de entidades como entrada, asegúrese de cambiar el nombre de la variable de salida a rowcount (esto es importante dado que esta salida se usa en el bloque de expresión/código Calcular valor ).
  4. Agregue la herramienta Calcular valor (una herramienta únicamente de ModelBuilder), en ModelBuilder > Insertar > Herramientas Solo modelo > Calcular valor. Defina la salida de Obtener conteo como condición previa de Calcular valor, dado que necesitamos que la herramienta Obtener conteo se ejecute primero para contar cuántas entidades se agregan a la tabla presente en la memoria.
  5. Haga clic con el botón derecho y abra la herramienta Calcular valor para modificar la expresión y el bloque de código. Este es el código:

Expresión:

countRows("%rowcount%")

Bloque de código (opcional):

def countRows(RowCount):
import arcpy
    if %RowCount% == 2: # feature restriction number
        return "true"
else:
       return "false"

En resumen, este código examina la salida de la herramienta Obtener conteo (las filas agregadas a la tabla en memoria; si agrega una entidad es 1 fila, dos entidades, 2 filas, y así sucesivamente). En nuestro escenario, usamos el valor de dos , de modo que cuando el usuario del modelo hace clic en dos nuevas ubicaciones de escuelas, la herramienta crea dos entidades en la tabla en memoria (la operativa puede ser diferente, ya que sus parámetros de entorno/modelo/etc. pueden tener requisitos diferentes. Este modelo utiliza entidades de punto y es posible que usted esté utilizando entidades de línea).

  1. Defina la salida de la herramienta Calcular valor como condición previa de la primera herramienta del modelo actual (en la que el Conjunto de entidades de nuestro escenario se conecta como entrada de la herramienta Incorporar).

Cuando se ejecuta, la herramienta solo funciona si se seleccionan dos puntos. De lo contrario, la herramienta muestra un mensaje informativo que indica: "El proceso no se ejecutó porque la condición previa es falsa".
La condición previa falsa se crea porque no se cumplió la sentencia IF de la herramienta Calcular valor, lo que significa una entrada distinta a dos selecciones.

El modelo se ejecuta como Completado, independientemente de si el usuario selecciona la cantidad deseada de entradas o no, debido a que la herramienta Calcular valor genera un valor booleano que es solo verdadero o falso.

Id. de artículo:000019731

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Descubrir más sobre este tema