Algunas aplicaciones de ArcGIS Arcade son más adecuadas que otras para casos de uso específicos. A continuación, se muestran algunas de las prácticas recomendadas para usar expresiones de Arcade en herramientas de análisis de ArcGIS Velocity:
- Complejidad de expresión: mientras que Arcade le permite escribir scripts complejos, declarar variables y definir y llamar funciones, al crear scripts de Arcade en Velocity, se recomienda que las mantenga lo más simples posible. Los scripts complejos tienden a tener más potencial de errores, pero lo que es más importante, también tienen más impacto en el rendimiento de análisis. Los scripts y expresiones más cortos se interpretan más rápidamente y tienen un menor impacto en la velocidad de procesamiento.
- Longitud de expresión: Arcade admite scripts de varias líneas, pero al igual que con scripts complejos, los scripts largos también pueden afectar negativamente a la velocidad de procesamiento. Se recomienda mantener los scripts lo más cortos posible para evitar una disminución innecesaria en el rendimiento.
- Evitar bucles: al escribir scripts y programas resulta útil aprovechar rutinas de bucle que iteran un conjunto de datos y repiten un procedimiento o evalúan ciertas condiciones. Aunque esto se admite en Velocity, puede reducir el rendimiento de sus análisis, significativamente a veces. Utilice la lógica de bucles con poca frecuencia y con criterio en expresiones analíticas.
Evite condiciones en las expresiones que podrían llevar a un bucle infinito cuando se está ejecutando el análisis. Si esto sucede, es probable que observe un impacto significativo en el rendimiento del análisis.
Cuando Velocity valida un análisis y determina que puede contener lógica de bucle, devuelve una advertencia de validación. Con ello, no evita que ejecute el análisis, pero sirve como recordatorio de que los bucles pueden tener un impacto negativo en el rendimiento.
- Probar una expresión con valores de muestra: realizar pruebas con valores de muestra puede ser necesario para corregir el tipo de datos de las entradas configuradas.
Por ejemplo, si tiene un campo de cadena de caracteres llamado ingestion_time que contiene valores de hora, como 2022-11-30T16:05:18Z, y desea analizar las cadenas de caracteres como horas, puede utilizar una expresión como Date($feature.ingestion_time). El constructor de expresiones de Arcade intenta validar la expresión utilizando una cadena de caracteres de muestra. La cadena de caracteres de muestra predeterminada es Pacific, que no se analiza correctamente como una hora. Una vez cerrado el generador de expresiones, se devuelve un error de validación que indica que debe configurar una expresión válida que devuelva datos en el tipo de campo de destino.
Puede actualizar este comportamiento pasando su propia cadena de caracteres de muestra válida en el generador de expresiones. Para ello, abra el generador de expresiones y, en el panel Variables de perfil, haga clic en $feature para acceder a las variables y elija el campo de cadena de caracteres que contiene la información de fecha.
Escriba una cadena de caracteres de ejemplo en el mismo formato de hora que los valores del campo. Cuando ejecute la expresión, se generará un valor de hora válido y la expresión se podrá utilizar en la herramienta correctamente.