J’ai des problèmes sur différentes plateformes lorsque j’utilise Arcade pour répartir mes entités de vannes en différentes classes. Le script suivant fonctionne parfaitement dans ArcPro (31 536 000 000 correspond environ au nombre de millisecondes dans une année, et le code modifie correctement, en quelques minutes, la couleur des vannes dont l’entretien remonte à plus d’un an) :

Ce code produit le résultat suivant dans ArcPro (Remarquez que la vanne cassée montre simplement que cela fonctionne dans Pro. La symbologie des vannes cassées et perdues fonctionne également dans AGOL, mais les données n’ont pas été mises à jour pour refléter la modification dans Pro) :

Voici le résultat dans une application Web AGOL ; le code semble seulement répartir le temps écoulé en fonction de la date actuelle, et non des valeurs <null>. Là encore, il fonctionne aussi pour les vannes cassées ou perdues. Toutes les symbologies apparaissent cependant dans la légende.
J’ai testé le code dans Collector et Explorer sur des appareils mobiles iPad et Android, mais je n’obtiens rien d’autre que le symbole de la valeur par défaut. L’application Web affiche toujours la même symbologie sur un appareil mobile que sur un PC ; toutefois, je ne collecte pas de points avec notre application Web. Nous utilisons un GPS Arrow connecté à un iPad comme plateforme de collecte, et cela n’a pas de sens de changer d’application pour effectuer la mise à jour.
La symbologie par défaut s’affiche sur Android, même si les classes distinctes figurent toujours dans la légende :


Toute recommandation ou aide serait appréciée. J’ai collé le code ci-dessous pour qu’il soit facile à modifier. Je débute en programmation et je n’ai pas encore les connaissances nécessaires pour créer une application plus avancée que nous pourrions télécharger et utiliser pour collecter des données. Merci d’avance, et j’espère que cela pourra aider ceux qui cherchent une solution similaire pour mettre en place une méthode d’entretien annuel basée sur une période plus longue.
Arcade pour Collector expression Arcade symbologie Arcade expressions d’attributs Arcade #arcade arcpro #AGOL longue période #time #year #annual #annualmaintenance
// définir d’abord les paramètres permettant de repérer les vannes cassées ou perdues.
var class
If ($feature.BROKEN == "YES") {
class = "Broken";
} else if ($feature.FOUND == "LOST") {
class = "Lost";
} else {
// cette classification crée différentes classes en fonction de la date de l’entretien. La symbologie peut être modifiée à l’aide des méthodes habituelles.
var startDate = Date($feature.DATE_OPERATION_CURRENT);
var endDate = Date(Today ());
var change = DateDiff(endDate, startDate, 'value');
var result = When (change > 31536000000, "À effectuer", change <= 31536000000, "À jour", "Données pas à jour")
return result
}
return class
// Je me rends compte que je pourrais probablement remplacer « var result » par « class »