Wie können wir sicherstellen, dass bei der mobilen Datenerfassung Informationen direkt fehlerlos aufgenommen werden? In ArcGIS Online stellen Field Maps Forms auf Basis von Arcade eine smarte Möglichkeit dar, die Integrität von Informationen zu gewährleisten.
Mobile GIS-Workflows lassen sich mit Apps von Esri wie ArcGIS Survey123 oder ArcGIS Field Maps wunderbar planen und verwirklichen. Gerade, wenn es sich um viele Kolleginnen und Kollegen im Außendienst handelt und die Aufnahmerate hoch ist, empfiehlt es sich, bereits während der Aufnahme Qualitäts- und Datenmanagement zu betreiben.
Zum einen erleichtert und verringert das die Datennachbereitung, zum anderen erfahren die Kolleginnen und Kollegen im Außendienst direkt, an welcher Stelle sie eine unzulässige Datenaufnahme tätigen würden.
In ArcGIS Online haben wir die Möglichkeit, diese Limitierung der Datenaufnahme direkt im Field Maps Web Designer zu implementieren. Dies kann beispielsweise durch mathematische, geografische oder attributive Berechnungen geschehen – oder Kombinationen dieser.
Anwendungsbeispiel
Ein praktischer Anwendungsfall könnte beispielsweise der Folgende sein:
- Jägerinnen und Jäger melden über ArcGIS Field Maps die Erlegung eines Tieres. Neben Informationen zum Tier selbst (Wildart, Alter und Gewicht) wird auch der Standort angegeben, in dem das Tier geschossen wurde.
- Da nicht jeder Jäger oder jede Jägerin in allen Jagdgebiet arbeiten darf, wollen wir über den ArcGIS Field Maps Web Designer eine Einschränkung formulieren, die das Absenden eines Punktes verbietet, falls er in einem Bereich aufgenommen wurde, für den keine Berechtigung vorliegt.
Verwendete Layer
Wir arbeiten hier mit zwei Layern: einem Polygon-Layer, der die Jagdgebiete darstellt, und einem Punkt-Layer, in den die Abschüsse bei der Aufnahme durch Field Maps geschrieben werden.
Der Polygon-Layer beinhaltet die Attribute „Lfd_Nr“ (die ID des Gebietes, die eindeutig ist) und “Erleger*In Name”. Letzteres ist ein Textfeld und enthält die durch Komma getrennten, vollen Namen der Jägerinnen und Jäger, die für das entsprechende Gebiet berechtigt sind.
Der Punkt-Layer enthält neben Attributen, die von den Jagenden aufgenommen werden, auch Felder, die beim Setzen eines Punktes automatisch berechnet werden (z. B. das Datum und die Uhrzeit).
Limitierung einrichten
Diese Möglichkeit der automatischen Feldberechnung nutzen wir für unsere Limitierung. Unser Ziel ist, dass das Feld „Name“ automatisch mit dem Namen des angemeldeten Nutzers befüllt wird, sofern dieser für das Gebiet, in dem der Punkt aufgenommen wurde, berechtigt ist. Nur wenn dies der Fall und das Feld mit dem Namen des Jagenden befüllt ist, sollen die erforderlichen Aufnahmefelder sichtbar werden, die sich auf das Tier beziehen.
Layer hochladen
Dazu werden beide Layer in eine Karte geladen, die anschließend im Field Maps Designer ausgewählt wird.
- Unter dem Punkt-Layer werden alle Attribute in das Formular eingeladen.
- Die Attribute, die für die Berechnung vorgesehen sind, werden auf Read-only gesetzt.
Berechneten Ausdruck hinzufügen
Wählt man das Feld Name aus, kann in dem Fenster auf der rechten Seite ein berechneter Ausdruck hinzugefügt werden.
Das Arcade-Ausdrucks-Editor öffnet sich. Es empfiehlt sich, jeder Berechnung einen Namen zu geben, da alle Berechnungen mehrfach in einem Formular verwendet werden können und so leichter Überblick verschafft werden kann.
Der Ausdruck für die Überprüfung der Berechtigungen sieht wie folgt aus:
- Durch GetUser() wird der volle Name der Person, die über Field Maps angemeldet ist, gezogen.
- Ein SQL-Ausdruck in einer Filter-Funktion hilft uns, die Menge der Jagdgebiete auf die Gebiete einzuschränken, für die der User berechtigt ist.
Prüfung mit der Intersects-Funktion
Anschließend prüfen wir mit der Intersects-Funktion, ob der gesetzte Punkt in einem oder mehreren gefilterten Jagdgebieten liegt: falls dem so ist, wird der Name des angemeldeten Nutzenden in das Feld Name geschrieben. Werden keine Gebiete, für die eine Berechtigung vorliegt, geschnitten, wird das Feld mit „Keine Berechtigung“ gefüllt.
Sichtbarkeitslogik einrichten
Den Feldern Tier, Alter und Gewicht wird eine Sichtbarkeitslogik hinterlegt, sodass diese in der App ausschließlich dann erscheinen, wenn das Feld Name den Namen des angemeldeten Nutzenden enthält. Zusätzlich sind diese Felder als erforderlich konfiguriert. Das bedeutet, dass sie zum Absenden des Formulars zwingend ausgefüllt sein müssen.
Das Feld Name ist mit dem Namen des berechtigten Nutzenden gefüllt. Die drei Felder zur Angabe von Daten zum Tier sind dementsprechend sichtbar.
Das Feld Name ist mit dem Wert “Keine Berechtigung” gefüllt, die drei Felder das Tier betreffend sind dementsprechend nicht sichtbar.
Fazit
Natürlich können Limitierungen von Datenaufnahmen über die verschiedensten Wege erreicht werden. Eine Alternative wäre hier beispielsweise, die Namen der Jägerinnen und Jäger nicht der Feature-Klasse der Jagdgebiete selbst zu entnehmen, sondern die Kombination aus Namen und berechtigten Jagdgebieten aus einer gehosteten Stand-Alone-Tabelle zu ziehen.
- Wie gehostete Tabellen mit Arcade und Field Maps genutzt werden können, erfahren Sie in diesem Blogartikel.
- Welche Möglichkeiten es zu Limitierungen von Bearbeitungen in ArcGIS Enterprise gibt, erfahren wir im Tipps & Tricks-Beitrag meines Kollegen Florian Artelt.
Viel Spaß und gutes Gelingen beim Ausprobieren von Arcade-Ausdrücken für die Einschränkung von Datenaufnahmen.