Die Prämisse
Während ArcGIS Tracker-Layer ('Tracks' & 'Last Known Location') verwendet werden können, um Standortdaten live an unser Webportal zu streamen, sind diese Daten durch zusätzliche Sicherheitseinstellungen geschützt, die verhindern, dass sie öffentlich geteilt werden. Verständlicherweise ist dies so konzipiert, um die persönliche Privatsphäre zu schützen und zu verhindern, dass unser Standort versehentlich mit den falschen Personen geteilt wird.
Es gibt jedoch eine andere Methode, mit der wir einen nahezu Live-Standortstream für öffentliche Tracking-Zwecke konfigurieren können... Betrachten Sie die folgenden Zwecke einer öffentlichen Web-App:
- Verfolgung einer Parade entlang einer lokalen Straßenroute
- Lokalisierung eines Schulbusses auf seiner Ringroute
- Das Nachverfolgen der eigenen Schritte im Feld
Dies sind relativ einfache und speicherschonende (Kreditverbrauch) Zwecke, für die wir die ArcGIS Online-Suite zur Lösung verwenden können.
Der Workflow in diesem Blogbeitrag kombiniert die folgenden ArcGIS-Produkte, um eine öffentliche Web-App für nahezu Live-Standort-Streaming und Tracking zu konfigurieren:
- ArcGIS Online
- ArcGIS QuickCapture (Field Apps Bundle)
- ArcGIS Web AppBuilder
- ArcGIS Pro (falls erforderlich, siehe "Wichtige Überlegungen" unten)
Haftungsausschluss:
ArcGIS QuickCapture eignet sich am besten zum Streamen von Features dieser Größenordnung von einem einzelnen Gerät. Der Versuch, diese Methode auf mehrere Benutzer (z. B. eine Fahrzeugflotte) innerhalb eines einzelnen Projekts anzuwenden, wird wahrscheinlich Leistungsprobleme verursachen und ein immer weniger "Live"-Erlebnis bieten.
Der Workflow
In diesem Beispiel werden wir einen theoretischen Eiswagen verfolgen, während er sich durch ein Wohnviertel bewegt.
In ArcGIS Online möchten wir eine Punkt-Feature-Layer erstellen – ich habe meine "Icecream Truck" genannt.
Dann greifen wir über das App-Shortcut-Menü in ArcGIS Online oder über die URL: https://www.arcgis.com/apps/quickcapture/
auf den QuickCapture Designer zu. Ein neues QuickCapture-Projekt zu erstellen ist einfach:
- Klicken Sie auf "Neues Projekt"
- Wählen Sie "Von vorhandenen Layern starten" und wählen Sie Ihre Punkt-Feature-Layer aus
- Klicken Sie auf "Weiter" und dann auf "Erstellen" Ihres Projekts
- Bitte sehen Sie sich "Erste Schritte mit ArcGIS QuickCapture" und "Ein Projekt konfigurieren" für weitere Informationen zu den Designfunktionen von ArcGIS QuickCapture-Projekten an
- Wählen Sie die Schaltfläche für Ihre Punkt-Feature-Layer aus, gehen Sie zum Tab "Daten" und stellen Sie sicher, dass "Streaming-Punkte" ausgewählt ist:

- Sie möchten möglicherweise auch unter Einstellungen > Allgemein > die erforderliche Genauigkeit aktivieren/deaktivieren sowie einen "Entfernungsschwellenwert" zwischen erfassten Punkten festlegen.
- Speichern Sie dann Ihr Projekt
- Nun müssen wir (oder der Außendienstmitarbeiter) die mobile ArcGIS QuickCapture-App auf unser mobiles Gerät herunterladen und installieren > anmelden > das '+' Symbol auswählen > Projekte durchsuchen > das QuickCapture-Projekt herunterladen
- Gehen Sie dann zu QuickCapture Einstellungen > Autosenden > aktivieren Sie "An" > und wählen Sie Intervall = 'Sofort'
Dieser letzte Schritt stellt sicher, dass gestreamte Punktfeatures sofort nach der Erfassung mit der Feature-Layer in ArcGIS Online synchronisiert werden.
Zurück in ArcGIS Online...
- Gehen Sie zu Inhalt, suchen und wählen Sie Ihre Punkt-Feature-Layer aus
- Wählen Sie "Ansichts-Layer erstellen"
- Geben Sie dem neuen Ansichts-Layer einen Namen, eine Zusammenfassung und Tags
- Wählen Sie dann "Im Map Viewer öffnen"
- Öffnen Sie in Ihrer Webkarte das Dropdown-Menü für den Ansichts-Layer > Ansichtdefinition festlegen > Features definieren

- Wir können dann das Attribut 'Fix Time' (erstellt von QuickCapture) verwenden, um einen Ausdruck einzustellen, der nur die Punkte anzeigt, die in den letzten x Zeitspanne gestreamt wurden, z.B.:
Fix Time - In den letzten - 5 - Minuten

- Zudem wollen wir unser 'Aktualisierungsintervall' für diesen Layer auf das kleinstmögliche (alle 30 Sekunden) setzen, damit die Webkarte für unser Web-App-Publikum so oft wie möglich aktuell ist...

- Öffnen Sie erneut das Dropdown-Menü für den Ansichts-Layer und wählen Sie "Layer speichern"
Speichern Sie die Webkarte und geben ihr einen Namen, Tags und eine Zusammenfassung...
Fügen wir nun die neue Webkarte einer Webanwendung hinzu...
- Gehen Sie zu Inhalt > Erstellen > Web AppBuilder
- Wählen Sie '2D' > Geben Sie der Web-App einen Namen, Tags und eine Zusammenfassung > Klicken Sie auf "Erstellen"
- Wählen Sie ein Thema aus
- Fügen Sie Ihre Webkarte hinzu
- Fügen Sie Widgets hinzu, die interessant sein könnten:
- Lesezeichen (aus der Webkarte)
- Filter (Sie möchten dem Benutzer möglicherweise die Möglichkeit geben, noch weiter nach dem Attribut 'Fix Time' zu filtern.)
- Speichern Sie die Webanwendung
- In ArcGIS Online > Inhalt > setzen Sie die Freigabe für folgende Inhalte auf "Jeder (Öffentlich)":
- Feature Layer Anzeigen
- Webkarte
- Webanwendung
Nun können wir (oder der Außendienstmitarbeiter) beginnen, ihren Standort über ArcGIS QuickCapture zu streamen, und ihre Bewegungen können alle 30 Sekunden in der Webanwendung beobachtet werden, wobei ihr Standort der letzten 5 Minuten hinter ihnen nachgezogen wird!
Beispiel:
Beispielausgabe: Punkte gesammelt in QuickCapture mit einem 10m Entfernungsschwellenwert und öffentlicher Web AppBuilder-App mit aktiviertem Filterwidget 'in den letzten 0.5 Minuten', für ein Auto, das durch ein lokales Wohnviertel fährt.
Zusätzliche Überlegungen
Anzeigenlayerfilter: Features verschwinden von der Karte, nachdem der Zeitrahmen unseres Ansichts-Layers abgelaufen ist. Um dies zu umgehen, könnten wir einen "neueste zuerst" Filter auf den JSON des Feature-Service anwenden, indem wir dem hier beschriebenen Workflow folgen: https://community.esri.com/t5/arcgis-online-documents/display-latest-feature-in-a-feature-service/ta-p/904523
Mithilfe der folgenden Syntax als Leitfaden können wir die jeweils neuesten 5 Punkte pro Benutzername zurückgeben:
{
"viewLayerDefinition": {
"topFilter": {
"orderByFields": "OBJECTID ASC",
"groupByFields": "Creator",
"topCount": 5
}
}
}
Bedenken bezüglich Speicherplatz: Das Streaming und Speichern von Features in großen Mengen mit ArcGIS QuickCapture wird im Laufe der Zeit einen zunehmenden Einfluss auf den Kreditverbrauch von ArcGIS Online haben. Wir müssen daran denken, gesammelte Punktfeatures in Chargen zu löschen, sobald sie für unseren Zweck nicht mehr relevant sind. Dies kann einfach in ArcGIS Pro durchgeführt werden durch folgende Schritte:
- Öffnen Sie ArcGIS Pro, verbinden Sie sich mit ArcGIS Online als Ihrem 'Aktiven Portal' und melden Sie sich an.
- Gehen Sie zum Bereich 'Katalog' und finden Sie auf dem Tab 'Portal' Ihre Streaming-Feature-Layer.
- Fügen Sie diesen Layer zur Karte hinzu, klicken Sie im Bereich 'Inhalte' mit der rechten Maustaste darauf und öffnen dessen Attributtabelle.
- Strg + A wählt alle Features aus.
- Klicken Sie dann auf die Schaltfläche 'Löschen', um sie zu entfernen.
