In ArcGIS Field Maps können Sie mithilfe von QR-Codes Daten schneller aufnehmen und weiterverarbeiten. Das spart Zeit und erhöht die Qualität im Erfassungs- und Inspektions-Workflow. In diesem Blogbeitrag zeigen wir Ihnen ein Beispiel, wie Sie mit ArcGIS Field Maps QR-Codes erfassen und die Inhalte mit Arcade Skripten direkt verarbeiten können.
ArcGIS Field Maps dient dazu Assets zu erfassen oder zu inspizieren. Bei der Eingabe von Daten ist es wichtig, die Informationen möglichst schnell und fehlerfrei zu erfassen.
Field Maps hat einige Funktionen, um die Effizienz der Datenerfassung zu steigern. Ich werde Ihnen zwei davon vorstellen und außerdem noch die beiden Methoden kombinieren!
Die eine Funktion gibt es schon länger. In ArcGIS Field Maps können Sie QR-Codes oder Barcodes scannen und die Information in ein Feld schreiben. Die andere Funktion ‚Berechnete Ausdrücke‘ ist im März 2022 hinzu gekommen.
Beide Methoden sind für sich schon sehr nützlich und lassen sich flexibel in die eigene Workflows einbauen. Aber zusammen angewendet, wird die Datenerfassung auf ein neues Level gehoben.
QR-Codes
QR-Codes sind allgegenwärtig. Mit ihnen lassen sich Informationen verschlüsseln und mit Kameras der mobilen Geräte einlesen. Sehr schnell und sehr zuverlässig.
In ArcGIS Field Maps lassen sich QR-Codes auf zwei Arten nutzen:
- Suche nach Features: Wenn Sie für eine Inspektion bestimmte Features suchen und Sie haben an den zu inspizierenden Objekten (beispielsweise Hydranten, Schilder oder Bäumen) einen QR-Code angebracht, können Sie diesen über die Suche in Field Maps scannen. Das Attribut Formular öffnet sich und Sie können alle Angaben überprüfen.
- Datenaufnahme: Wenn Sie die Objekte, z.B. technische Geräte, erst erfassen müssen, können Sie den QR-Code scannen, die enthaltenen Informationen in ein Feld des eigenen Datenmodels schreiben und das Features neu erstellen.
Die Vorbereitung eines Erfassungsformulars ist denkbar einfach.
In der ArcGIS Field Maps Webanwendung das Feld (vom Typ String, Integer, Double) mit der Erfassungsmethode ‚Barcode‘ verknüpfen, ein paar Eigenschaften festlegen, fertig.
Im folgenden Screenshot sehen Sie die entsprechenden Einstellungen für die Formular Definition.

HINWEIS: ArcGIS Field Map unterstützt die vom jeweiligen Betriebssystem (iOS oder Android) unterstützten QR-Codes und Barcodes. Beispiel-Codes können auf zahlreichen Webseiten erzeugt werden.
Beispiel:

In diesem Beispiel (natürlich völlig fiktiv) ist dieser String verschlüsselt:
Erika Mustermann|Esri|12.08.2001
Name|Arbeitgeber|Einstelldatum
Bei einem realen Beispiel hätte man vermutlich eher etwas wie Produktnummer|Seriennummer|Hersteller|Installationsdatum
Der Trenner „|“ ist ebenfalls frei wählbar.
Es sind also drei Informationen verschlüsselt. Mit der oben vorgestellten Methode werden aber alle drei Informationen in ein Feld eingelesen und natürlich will ich die drei Einträge auch in drei Feldern haben, passend zu meinem Datenmodel.
Die eine Methode wäre es nach der Erfassung zentral ein Skript im Backend laufen zu lassen und das Datenmodell zu füllen. Viel schicker und für den Datenerfasser auch nützlicher ist es natürlich, das gleich bei der Erfassung zu machen und da kommen wir zur zweiten neuen Funktion, die ich vorstellen möchte.

Berechnete Ausdrücke
Mit ‚Berechnete Ausdrücke‘ lassen sich die Inhalte von Feldern mit Arcade Skripten berechnen.
Ein paar Beispiele hierfür habe ich schon in diesem Blogbeitrag beschrieben: ArcGIS Field Maps – Neuerungen aus dem März 2022 Release
Ebenfalls in ArcGIS Field Maps (Web) definiert man für die drei Einzelfelder, dass sie nicht manuell gefüllt werden, sondern durch ein Skript.

Für die drei Felder habe ich jeweils ein eigenes kleines Skript geschrieben. Die Skripte funktionieren nur mit diesem QR Schema: Text|Text|Datum (DDMMYYYY). Können aber ganz leicht angepasst werden.
Für ‚Name‘
//Liest den Inhalt des Feldes [Code] ein und splittet anhand des Trennzeichens |
//die Inhalte in einen Arry auf. [Code] enthält den Inhalt
//des QR-Codes
var QRcode=$feature.Code;
var content = Split(QRCode, ‘|’, -1,false)
//Rückgabe des Wertes im ersten Feld des Array
return content[0]
Für ‚arbeitet bei‘
//Liest den Inhalt des Feldes [Code] ein und splittet anhand des Trennzeichens |
//die Inhalte in einen Arry auf. [Code] enthält den Inhalt
//des QR-Codes
var QRcode = $feature.Code;
var content = Split(QRcode, ‘|’, -1,false);
//Hilfskonstrukt, falls kein QR-Code mit dem richtigen Trenner gelesen
//wurde. Wird auch benötigt um im Arcade Editor zu testen, da man sonst
//auf einen Fehler läuft und nicht speichern kann.
if (Find(“|”,QRcode,0) == -1)
{content = [“invalid”,”invalid”,”01011900″]}
//gibt den zweiten Wert des Array zurück
return content[1]
Für ‚arbeitet seit‘ (gleich noch mit Umrechnung String in Datum)
//Liest den Inhalt des Feldes [Code] ein und splittet anhand des Trennzeichens |
//die Inhalte in einen Arry auf. [Code] enthält den Inhalt
var QRcode = $feature.Code;
var content = Split(QRcode, ‘|’, -1,false);
//Hilfskonstrukt, falls kein QR-Code mit dem richtigen Trenner gelesen
//wurde. Wird auch benötigt um im Arcade Editor zu testen, da man sonst
//auf einen Fehler läuft und nicht speichern kann.
if (Find(“|”,QRcode,0) == -1)
{content = [“invalid”,”invalid”,”01011900″]};
//erzeugt aus einem String im Format DDMMYYYY ein Datum
//Nur notwendig weil in ein Feld vom Typ date geschrieben wird
var contentdate = content[2];
var YY = Number(Mid(contentdate, 4 , 4));
var MM = Number(Mid(contentdate, 2 , 2)) – 1;
var DD = Number(Mid(contentdate, 0 , 2));
return Date(YY, MM, DD);
Und so sieht das Ganze dann auf dem Mobilen Gerät aus.
Beispielprojekt
Ich habe die WebMap und den Layer jeweils freigegeben, dann können Sie auch schnell ein eigenes Projekt machen und es ausprobieren:
- Diese Webmap öffnen: Web Map QRCodeverarbeiten
- In der eigenen ArcGIS Online Organisation anmelden.
- Die Webmap unter eigenen User abspeichern. Dafür ist ein Usertype ‚Creator‘ oder ‚GIS Professional‘ notwendig.
- In ArcGIS Field Map (Web) öffnen und den Code für die eigenen Projekte nutzen.
oder:
Die eigene Webmap in der ArcGIS Field Maps App öffnen. Dafür ist mindestens ein Usertype ‚Field Worker‘ notwendig.
HINWEIS: Wenn Sie in dieser kopierten Webmap arbeiten, werden Daten, die Sie evtl. aufnehmen in meinen FeatureLayer geschrieben. Ich kann das also sehen. Es wird dabei die gewählte Position übermittelt (das kann die GPS-Position sein oder irgendeine manuell festgelegte Position). Außer der Position wird nichts weiter übermittelt, kein Username, keine Fotos. Aber natürlich werden die Inhalte des QR-Codes übermittelt.
Wenn Sie damit kein Problem haben, machen Sie es bitte, dann weiß ich, dass dieses Beispiel für Sie nützlich ist!
