Ich habe plattformübergreifend Probleme damit, mithilfe von Arcade meine Ventil-Features in verschiedene Klassen aufzuteilen. Das folgende Skript funktioniert in ArcPro einwandfrei (31.536.000.000 ist ungefähr die Anzahl der Millisekunden in einem Jahr, und der Code ändert innerhalb weniger Minuten korrekt die Farben der Ventile, deren Wartung länger als ein Jahr zurückliegt):

Dieser Code liefert in ArcPro folgendes Ergebnis (Das defekte Ventil zeigt lediglich, dass es in Pro funktioniert; die Symbolisierung für defekte und verlorene Ventile funktioniert auch in AGOL, aber die Daten wurden nicht aktualisiert, um die Änderung in Pro widerzuspiegeln):

Das Ergebnis in einer AGOL-Web-App ist unten zu sehen; der Code scheint die verstrichene Zeit nur anhand des aktuellen Datums zu unterteilen, nicht aber Werte vom Typ <null>. Auch bei defekten/verlorenen Ventilen funktioniert er wieder. In der Legende werden jedoch alle Symbole angezeigt.
Ich habe den Code mit Collector und Explorer sowohl auf dem iPad als auch auf Android-Mobilgeräten getestet, bekomme aber nur das Standardsymbol angezeigt. Die Web-App zeigt auf einem Mobilgerät dieselbe Symbolisierung wie auf einem PC an; allerdings erfasse ich keine Punkte über unsere Web-App. Zur Datenerfassung verwenden wir ein mit einem iPad verbundenes Arrow-GPS, und es ergibt keinen Sinn, zum Aktualisieren zwischen Apps zu wechseln.
Unter Android wird die Standardsymbolisierung angezeigt, obwohl die einzelnen Klassen weiterhin in der Legende vorhanden sind:


Für Empfehlungen oder Hilfe wäre ich dankbar. Den Code habe ich unten eingefügt, damit er sich leicht bearbeiten lässt. Ich fange gerade erst mit dem Programmieren an und habe noch nicht genug Wissen, um eine fortgeschrittenere App zu erstellen, die wir herunterladen und zur Datenerfassung verwenden können. Vielen Dank im Voraus! Ich hoffe, das hilft allen, die nach einer ähnlichen Lösung für eine längerfristige Methode zur jährlichen Wartung suchen.
Collector Arcade Arcade-Ausdruck Arcade-Symbolisierung Arcade-Attributausdrücke #arcade ArcPro #AGOL lange Zeit #time #year #annual #annualmaintenance
// Zuerst Parameter zum Auffinden defekter oder verlorener Ventile festlegen.
var class
If ($feature.BROKEN == "YES") {
class = "Broken";
} else if ($feature.FOUND == "LOST") {
class = "Lost";
} else {
// Diese Klassifizierung richtet anhand des Wartungszeitpunkts verschiedene Klassen ein. Die Symbolisierung lässt sich mit den üblichen Methoden anpassen.
var startDate = Date($feature.DATE_OPERATION_CURRENT);
var endDate = Date(Today ());
var change = DateDiff(endDate, startDate, 'value');
var result = When (change > 31536000000, "Fällig", change <= 31536000000, "Aktuell", "Daten nicht aktuell")
return result
}
return class
// Mir ist klar, dass ich "var result" wahrscheinlich durch "class" ersetzen könnte.