Layer-Aktionen gelten für Features, die in einem Tracking-Layer enthalten sind. Daher können sie sowohl auf Echtzeit-Tracking-Layer als auch auf Tracking-Layer mit festen Zeitdaten angewendet werden. Layer-Aktionen werden in einem Kartendokument gespeichert und im Dialogfeld Layer-Eigenschaften auf der Registerkarte Aktionen konfiguriert. Wenn Sie einen Tracking-Layer als Layer-Datei in ArcMap oder ArcGlobe speichern, werden seine Aktionseinstellungen zusammen mit dem Layer gespeichert.
Im Gegensatz zu Service-Aktionen sind Layer-Aktionen ausschließlich in der Client-Anwendung vorhanden, z. B. ArcMap. Daher beziehen sich diese Aktionen normalerweise auf die Datenvisualisierung zu Analysezwecken. Beispielsweise können Sie Features auf der Karte hervorheben, die eine bestimmte Trigger-Bedingung erfüllen.
Die benutzerdefinierte Layer-Aktion "Visual Basic" (VB) ist die umfassendste Layer-Aktion. Diese Aktion kann stark angepasst und nur auf Echtzeit-Tracking-Layer angewendet werden. Sie wird als Layer-Aktion angesehen, weil darin auf ein VB-Makro verwiesen wird, das in einem Kartendokument gespeichert ist. Die Aktion fungiert als Service-Aktion, weil sie auf Ereignisse angewendet wird, während diese von einem Tracking-Service per Datenstrom empfangen werden.
Der vollständige Satz der Layer-Aktionen, die in Tracking Analyst verfügbar sind, wird unten erläutert.
Hervorhebung/Unterdrückung
Mit der Aktion "Hervorhebung/Unterdrückung" ändern Sie die Symbologie von Features, die die definierten Trigger-Kriterien erfüllen. Bei der Aktion Hervorhebung werden bestimmte gewünschte Ereignisse hervorgehoben, indem sie mithilfe einer speziellen Symbologie gekennzeichnet werden. Sie können das Symbol auswählen, das für die Hervorhebung verwendet werden soll. Es wird beim Zeichnen der Karte dann hinter dem normalen Symbol des Ereignisses platziert. Bei der Aktion Unterdrückung werden Ereignisse ausgeblendet, die die Trigger-Kriterien erfüllen, indem sie auf der Karte gar nicht erst gezeichnet werden. Wenn auf einem Layer eine Aktion Hervorhebung oder Unterdrückung definiert ist, wird sie sofort auf alle Features angewendet, die die Trigger-Kriterien im Layer erfüllen.
Informationen zum Anwenden einer Aktion Hervorhebung auf einen Layer
Informationen zum Anwenden einer Aktion Unterdrückung auf einen Layer
Filter
Die Layer-Aktion "Filter" sollte nicht mit der Service-Aktion "Filter" verwechselt werden. Mit der Layer-Aktion "Filter" können Sie nur angeben, dass Ereignisse in die weitere Aktionsverarbeitung eingebunden oder davon ausgeschlossen werden sollen. Mit Tracking Analyst können Sie die Reihenfolge konfigurieren, in der Aktionen verarbeitet werden. Es ist für diese Aktion von besonderer Wichtigkeit, dass Sie die Bedeutung der Reihenfolge von Aktionen verstehen. Falls nach einer Filteraktion keine anderen Layer-Aktionen definiert sind, hat die Filteraktion keine Auswirkungen. Falls nach der Filteraktion Aktionen definiert sind, werden nur im Filter enthaltene Ereignisse (bzw. nicht aus dem Filter ausgeschlossene Ereignisse) an die nachfolgenden Aktionen übergeben.
Informationen zum Anwenden einer Filteraktion auf einen Layer
Benutzerdefinierte VB-Aktion (nur für Echtzeit-Tracking-Layer)
Die von Tracking Analyst bereitgestellte benutzerdefinierte VB-Layer-Aktion steht zur Verfügung, wenn Sie die Software ArcGIS for Desktop VBA Resources for Developers, die im ArcGIS for Desktop-Medienpaket enthalten ist, installieren und lizenzieren. Informationen zum Installieren und Lizenzieren finden Sie im Installationshandbuch von ArcGIS for Desktop. Nach der Installation finden Sie in der Hilfe von ArcGIS for Desktop VBA Resources for Developers Anweisungen zur Verwendung des Visual Basic-Editors zur Erstellung von Makros für ArcGIS for Desktop.
Die benutzerdefinierte VB-Layer-Aktion unterscheidet sich von den anderen Layer-Aktionen, weil sie nur auf Echtzeit-Tracking-Layer angewendet werden kann. Außerdem unterscheidet sie sich von Service-Aktionen, weil sie für einen Tracking-Layer definiert ist, nicht für einen Tracking-Service. VB-Aktionen werden auf Echtzeitereignisse angewendet, wenn sie dem Tracking-Layer hinzugefügt werden, aber sie werden nicht auf Ereignisse angewendet, die vor dem Auslösen der Aktion bereits im Layer vorhanden sind.
Die Visual Basic-Aktion verleiht Ihnen große Flexibilität, da eine breite Palette von Vorgängen programmgesteuert mit einem VB-Makro ausgeführt werden kann. VB-Makros können für praktisch unbegrenzt viele Anwendungsmöglichkeiten geschrieben werden, z. B. zum Anzeigen der Attribute neuer Ereignisse beim Eingang, zum Benachrichtigen eines Analysts per Popup-Meldung oder zum Bearbeiten eingehender Daten. Bevor eine benutzerdefinierte VB-Aktion für einen Layer definiert wird, muss mit dem Visual Basic-Editor ein VB-Makro geschrieben werden. Das VB-Makro umfasst ein Array mit den Werten aller Datenfelder für das eingehende Ereignis.
Informationen zum Anwenden einer benutzerdefinierten VB-Aktion auf einen Echtzeit-Layer
Um Ihnen den Einstieg zu erleichtern, sind unten zwei einfache VB-Makros als Beispiele angegeben. Beachten Sie jeweils die spezielle Struktur der ersten Codezeile. Halten Sie sich genau an diese Struktur, um eingehende Datenwerte für das Ereignis in einem einzelnen Array vom Typ VARIANT zu empfangen. Sie können dann im Text des Makros auf einfache Weise auf die einzelnen Datenfeldwerte zugreifen, indem Sie auf das Array verweisen und das Argument auf die Spaltennummer des Feldes festlegen. Die Reihenfolge der Felder entspricht der Reihenfolge, in der diese in der Attributtabelle für den Tracking-Layer angezeigt werden.
Dieses Makro zeigt das fünfte Feld einer eingehenden Datenmeldung auf der ArcMap-Statusleiste an. Dieses Makro wird für alle eingehenden Ereignisse ausgeführt, die die Trigger-Kriterien der Aktion erfüllen.
Public Sub StatusBarMacro(ParamArray varArgs() As Variant)
Application.StatusBar.Message(0) = varArgs(5)
End Sub
Dieses Makro zeigt das dritte Feld einer eingehenden Datenmeldung in einem Meldungsfeld an. Dieses Makro wird für alle eingehenden Ereignisse ausgeführt, die die Trigger-Kriterien der Aktion erfüllen.
Public Sub MessageBoxMacro(ParamArray varArgs() As Variant)
MsgBox varArgs(3)
End Sub