CÓMO
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.
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:
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).
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.
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri