Comprender la validación en las herramientas de secuencia de comandos

Puede proporcionar un comportamiento propio para el cuadro de diálogo de la herramienta de secuencia de comandos, como habilitar y deshabilitar parámetros, proporcionar valores predeterminados y actualizar palabras clave de cadena de texto. Al agregar el código Python, puede hacer lo siguiente:

Cómo funciona la validación

La validación se realiza con un bloque de código Python que utiliza el geoprocesamiento para controlar cómo cambia el cuadro de diálogo de la herramienta y la ventana Python según la entrada del usuario. Las herramientas del sistema (proporcionadas por Esri) siempre han tenido la capacidad de reaccionar a la entrada del usuario y posteriormente modificar el cuadro de diálogo de la herramienta como se describe anteriormente.

Validación

Validación significa verificar que todos los parámetros de la herramienta sean correctos y proporcionar mensajes útiles si es el caso contrario. Hay dos partes en la validación:

  • La parte que puede hacer al agregar el código.
  • La parte que ArcGIS hace automáticamente por usted. Se hace referencia a esta parte de la validación como validación interna (o validación básica), dado que es la validación básica que se realiza internamente mediante el geoprocesamiento en ArcGIS.

En primer lugar, observe lo que hace la validación interna:

  • Si se requiere un parámetro, comprobar que esté vacío (nada introducido aún) y, si es así, enviar el mensaje "Se requiere un valor" al cuadro de diálogo de la herramienta (con un punto verde en lugar de una X roja).
  • Comprobar que el valor que el usuario introdujo sea del tipo correcto (por ejemplo, introducir un ráster en lugar de una clase de entidad o un carácter alfabético en vez de un número).
  • Comprobar la pertenencia del filtro. Es decir, si tiene un filtro de Lista de valores que incluye palabras clave como ROJO, NARANJA y AMARILLO y usted escribe AZUL, recibirá un mensaje de error porque AZUL no se encuentra en el filtro de Lista de valores.
  • Comprobar la existencia de datasets de entrada.
  • Generar una ruta de catálogo predeterminada para datasets de salida.
  • Actualizar la descripción de la información de salida de acuerdo con un conjunto de reglas incluidas en el objeto especial, Esquema.
  • Comprobar la existencia de datasets de salida contra la configuración del entorno overwriteOutput. Si el dataset existe y la configuración overwriteOutput es falsa, se produce un error; en caso contrario, se produce una advertencia.
  • Si el parámetro es un tipo de datos de campo, verificar la existencia del campo en la tabla asociada.
  • Comprobar que el dataset de salida no sea el mismo que el dataset de entrada (a menos que se derive la salida, como Agregar campo).
  • Para los parámetros que contienen tipos de datos de unidad de área y lineales, configurar los valores predeterminados al examinar los valores correspondientes en ArcMap (si se ejecutan desde ArcMap).
  • Si la salida es una cobertura, cuadrícula o tabla INFO, comprobar el límite de 13 caracteres del nombre del archivo para estos datasets.

La validación interna no realiza lo siguiente (pero lo puede realizar con su propio código de validación):

  • Actualizar los filtros de acuerdo con la interacción con otros parámetros. Por ejemplo, si el usuario introduce una clase de entidad de punto en el primer parámetro, usted quiere que el cuadro de diálogo de la herramienta visualice ROJO, NARANJA y AMARILLO en el tercer parámetro. Si introduce una clase de entidad poligonal, querrá visualizar AZUL, ÍNDIGO y VIOLETA en el tercer parámetro.
  • Habilitar/deshabilitar parámetros.
  • Calcular valores predeterminados.
  • Ejecutar cualquier interacción de parámetro específica de la herramienta.

El código que agrega funcionará junto con la validación interna como sigue:

  • Puede proporcionar un conjunto de reglas que la validación interna utiliza para actualizar la descripción de datasets de salida. Estas reglas se incluyen en un objeto de esquema.
  • Puede actualizar los filtros antes de que se lleve a cabo la validación interna. Considerando el ejemplo anterior, si se introduce una clase de entidad de puntos, actualizaría el filtro para incluir ROJO, NARANJA y AMARILLO. La validación interna verifica el valor que el usuario introdujo contra los valores encontrados en el filtro.

Además, como se menciona, puede hacer que su código de validación calcule los valores predeterminados, habilite y deshabilite parámetros y personalice mensajes. Estos tipos de acciones no influyen en la validación interna; solo afectan la apariencia del cuadro de diálogo de la herramienta.

Temas relacionados

9/11/2013