Pratiques conseillées pour les expressions Arcade

Certaines applications ArcGIS Arcade sont mieux adaptées que d’autres à des cas d’utilisation spécifiques. Vous trouverez ci-dessous certaines des pratiques conseillées concernant l’utilisation des expressions Arcade dans les outils d’analyse ArcGIS Velocity.

  • Complexité d’expression : bien que Arcade vous permette d’écrire des scripts complexes, de déclarer des variables, de définir et d’appeler des fonctions, nous vous recommandons de simplifier au maximum les scripts Arcade que vous créez dans Velocity. Les scripts complexes présentent généralement plus de risques d’erreurs, mais ils ont surtout davantage d’impact sur les performances d’analyse. Les scripts et expressions plus courts sont interprétés plus rapidement et ont donc un impact moindre sur la vitesse de traitement.
  • Longueur d’expression : Arcade prend en charge les longs scripts multiligne, mais comme pour les scripts complexes, les scripts longs peuvent avoir un impact négatif sur la vitesse de traitement. Nous vous recommandons de créer des scripts aussi courts que possible, afin d’éviter toute baisse inutile des performances.
  • Évitez les boucles : lorsque vous écrivez des scripts et des programmes, il est utile de tirer parti des routines de boucle qui itèrent un jeu de données et répètent une procédure ou un test dans certaines conditions. Bien que Velocity les prenne en charge, les utiliser peut réduire les performances d’analyse, parfois de manière drastique. La logique de boucle doit être utilisée occasionnellement et judicieusement dans les expressions d’analyse.

    Évitez d’inclure dans vos expressions des conditions qui pourraient créer des boucles infinies lors de l’exécution de l’analyse. Si cela se produit, vous risquez de constater une baisse significative des performances de l’analyse.

    Lorsque Velocity valide une analyse et détermine qu’elle peut comporter une logique de boucle, il renvoie un avertissement de validation. Cela ne vous empêche pas d’exécuter l’analyse, mais vous rappelle que les boucles peuvent avoir un effet délétère sur les performances.

  • Tester une expression avec des valeurs d’exemple : il peut être nécessaire de tester avec des valeurs d’exemple afin de produire le bon type de données à partir des entrées configurées.

    Par exemple, si vous disposez d’un champ de type chaîne nommé ingestion_time contenant des valeurs temporelles comme 2022-11-30T16:05:18Z et que vous souhaitez analyser les chaînes sous forme d’heures, vous pouvez utiliser une expression telle que Date($feature.ingestion_time). Le générateur d’expressions Arcade essaye de valider l’expression à l’aide d’un exemple de chaîne. L’exemple de chaîne par défaut, Pacific, ne permet pas une analyse sous forme d’heure. Une fois le générateur d’expressions fermé, une erreur de validation est renvoyée, vous indiquant que vous devez configurer une expression valide qui renvoie les données dans le type de champ cible.

    Éditeur testant l’expression avec la valeur par défaut

    Vous pouvez mettre à jour ce comportement en intégrant votre propre exemple de chaîne valide dans le générateur d’expressions. Pour cela, ouvrez le générateur d’expressions, puis, dans la fenêtre Profile variables (Variables de profil), cliquez sur $feature pour accéder aux variables et sélectionner le champ de chaîne contenant les informations temporelles.

    Mise à jour de l’exemple de valeur

    Saisissez un exemple de chaîne au même format temporel que les valeurs du champ. Lorsque vous exécutez l’expression, une valeur temporelle valide est générée et l’expression peut être utilisée dans l’outil.

    Test d’une expression avec un exemple de valeur temporelle