Mám problémy napříč platformami při používání Arcade k rozdělení prvků Valves do různých tříd. Následující skript funguje v ArcPro perfektně (31 536 000 000 je přibližný počet milisekund v roce a kód během několika minut správně změní barvy ventilů, u kterých od údržby uplynul více než rok):

Tento kód přináší následující výsledek v ArcPro (všimněte si, že rozbitý ventil pouze ukazuje, že to v Pro funguje; symbolika rozbitých a ztracených ventilů funguje i v AGOL, ale data nebyla aktualizována tak, aby odrážela změnu v Pro):

Níže je výsledek ve webové aplikaci AGOL; zdá se, že kód rozděluje pouze prvky podle uplynulého času na základě aktuálního data, nikoli hodnot <null>. Opět platí, že funguje i pro rozbité/ztracené ventily. V legendě se však zobrazuje veškerá symbolika.
Kód jsem testoval v aplikacích Collector a Explorer na mobilních platformách iPad i Android, ale zobrazuje se mi pouze symbol výchozí hodnoty. Webová aplikace zobrazuje na mobilu stejnou symboliku jako na počítači, ale body ve webové aplikaci nesbírám. Jako platformu pro sběr dat používáme iPad připojený k Arrow GPS a nedává smysl přepínat kvůli aktualizaci mezi aplikacemi.
V systému Android se zobrazuje výchozí symbolika, přestože v legendě jsou samostatné třídy stále uvedené:


Budu vděčný za jakékoli doporučení nebo pomoc. Níže jsem vložil kód, aby se dal snadno upravovat. S programováním teprve začínám a zatím nemám dost znalostí, abych vytvořil pokročilejší aplikaci, kterou bychom si mohli stáhnout a používat ke sběru dat. Předem děkuji a doufám, že to pomůže i ostatním, kteří hledají podobné řešení, jak při každoroční údržbě pracovat s delším časovým obdobím.
Arcade pro Collector výraz Arcade symbolika Arcade výrazy atributů Arcade #arcade arcpro #AGOL dlouhá doba #time #year #annual #annualmaintenance
// nejprve nastavte parametry pro hledání rozbitých nebo ztracených ventilů.
var class
If ($feature.BROKEN == "YES") {
class = "Rozbitý";
} else if ($feature.FOUND == "LOST") {
class = "Ztracený";
} else {
// tato klasifikace vytvoří různé třídy podle doby od údržby. Symboliku lze upravit běžnými způsoby
var startDate = Date($feature.DATE_OPERATION_CURRENT);
var endDate = Date(Today ());
var change = DateDiff(endDate, startDate, 'value');
var result = When (change > 31536000000, "Po termínu", change <= 31536000000, "Aktuální", "Data nejsou aktuální")
return result
}
return class
// Uvědomuji si, že bych pravděpodobně mohl nahradit „var result“ výrazem „class“