Ik ondervind op verschillende platforms problemen bij het gebruik van Arcade om mijn kleppenobjecten in verschillende klassen in te delen. Het volgende script werkt perfect in ArcPro (31.536.000.000 is ongeveer het aantal milliseconden in een jaar, en binnen enkele minuten kleurt de code kleppen die langer dan een jaar geen onderhoud hebben gehad correct):

Die code levert het volgende resultaat op in ArcPro (de kapotte klep laat alleen zien dat de code werkt in Pro; de symboliek voor kapotte en verloren kleppen werkt ook in AGOL, maar de gegevens zijn niet bijgewerkt om de wijziging in Pro weer te geven):

Hieronder staat het resultaat in een AGOL-webapp; de code lijkt de verstreken tijd alleen in te delen op basis van de huidige datum, niet op basis van waarden <null>. Nogmaals, voor kapotte/verloren kleppen werkt het ook. Alle symboliek wordt wel weergegeven in de legenda.
Ik heb de code getest met Collector en Explorer op zowel iPad als Android, maar ik krijg alleen het standaardsymbool te zien. De webapp geeft op een mobiel platform nog steeds dezelfde symboliek weer als op een pc, maar ik verzamel geen punten via onze webapp. We gebruiken een Arrow GPS die is verbonden met een iPad als verzamelplatform, en het is niet praktisch om van app te wisselen om gegevens bij te werken.
De standaardsymboliek wordt weergegeven op Android, hoewel de afzonderlijke klassen nog steeds in de legenda staan:


Alle aanbevelingen of hulp zijn welkom. Ik heb de code onderaan geplakt, zodat je die gemakkelijk kunt aanpassen. Ik begin net met programmeren en heb nog niet genoeg kennis om een geavanceerdere app te maken die we kunnen downloaden en waarmee we gegevens kunnen verzamelen. Alvast bedankt; ik hoop dat dit anderen helpt die op zoek zijn naar een vergelijkbare oplossing voor een methode om het jaarlijkse onderhoud over een langere periode bij te houden.
Collector Arcade Arcade-expressie Arcade-symboliek Arcade-attribuutexpressies #arcade ArcPro #AGOL lange tijd #time #year #annual #annualmaintenance
// stel eerst parameters in om kapotte of verloren kleppen te vinden.
var class
If ($feature.BROKEN == "YES") {
class = "Kapot";
} else if ($feature.FOUND == "LOST") {
class = "Verloren";
} else {
// deze classificatie maakt verschillende klassen op basis van de tijd sinds het onderhoud. De symboliek kan met de gebruikelijke methoden worden aangepast.
var startDate = Date($feature.DATE_OPERATION_CURRENT);
var endDate = Date(Today ());
var change = DateDiff(endDate, startDate, 'value');
var result = When (change > 31536000000, "Verschuldigd", change <= 31536000000, "Actueel", "Gegevens niet actueel")
return result
}
return class
//Ik besef dat ik "var result" waarschijnlijk kan vervangen door "class"