ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Anwenden einer benutzerdefinierten VB-Aktion auf einen Echtzeit-Layer

Voraussetzung:

Die von Tracking Analyst bereitgestellte benutzerdefinierte VB-Layer-Aktion steht zur Verfügung, wenn Sie die Software ArcGIS Desktop VBA Resources for Developers, die im ArcGIS Desktop-Medienpaket enthalten ist, installieren und lizenzieren. Informationen zum Installieren und Lizenzieren finden Sie im Installationshandbuch von ArcGIS Desktop. Nach der Installation finden Sie in der Hilfe von ArcGIS Desktop VBA Resources for Developers Anweisungen zur Verwendung des Visual Basic-Editors zur Erstellung von Makros für ArcGIS Desktop.

Bevor Sie dieses Verfahren durchführen können, müssen Sie mit dem Visual Basic-Editor ein VB-Makro zur Verwendung mit dieser Aktion erstellt haben.

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.

Weitere Informationen zu benutzerdefinierten VB-Aktionen für Echtzeit-Tracking-Layer

  1. Erstellen Sie mit dem Visual Basic-Editor das VB-Makro, das Sie für den Echtzeit-Tracking-Layer verwenden möchten.
  2. Klicken Sie im Fenster Inhaltsverzeichnis mit der rechten Maustaste auf den Tracking-Layer, auf den Sie die Aktion anwenden möchten, und klicken Sie im Kontextmenü auf Eigenschaften. Das Dialogfeld Layer-Eigenschaften wird angezeigt.

    Alternativ können Sie im Inhaltsverzeichnis auf den Tracking-Layer doppelklicken.

  3. Klicken Sie im Dialogfeld Layer-Eigenschaften auf die Registerkarte Aktionen.
  4. Klicken Sie auf die Schaltfläche Neue Aktion.
    Klicken Sie auf die Schaltfläche "Neue Aktion", um eine neue Aktion zu erstellen.
  5. Wählen Sie im Fenster Typ der zu erstellenden Aktion die Option Visual Basic. Die Option Visual Basic ist nur aufgeführt, wenn Sie mit einem Echtzeit-Tracking-Layer arbeiten.
    Auswählen der Visual Basic-Aktion
  6. Klicken Sie auf das Textfeld, geben Sie einen Namen für die Aktion ein, und klicken Sie dann auf OK, um das Aktionsparameterformular zu öffnen.
  7. Klicken Sie im Dialogfeld Visual-Basic-Aktionsparameter auf den Dropdown-Pfeil Projekt, und wählen Sie entweder Projekt oder Normal aus.

    Dialogfeld "Visual-Basic-Aktionsparameter"

  8. Ein im Ordner "Normal" gespeichertes Makro wirkt sich auf alle in ArcMap geöffneten Dokumente aus. Ein Makro, das sich im Ordner "Projekt" befindet, wirkt sich nur auf das aktuelle Kartendokument aus.

  9. Klicken Sie auf den Dropdown-Pfeil der Option Modul, und wählen Sie das Modul aus, in dem das Makro enthalten ist.
  10. Der Standardmodulname im Visual Basic-Editor ist ThisDocument.

  11. Klicken Sie auf den Dropdown-Pfeil der Option Makro, und wählen Sie den Namen des zu verwendenden Makros aus.

    Falls Sie bereits ein VB-Makro erstellt und in diesem Modul gespeichert haben, wird es in der Liste angezeigt.

  12. Legen Sie den Trigger für die Aktion fest. Klicken Sie im Fenster Auslöser für Aktion auf die gewünschte Option darunter, und folgen Sie den weiteren Anweisungen zum Festlegen des Triggers:

    Immer

    Die Aktion wird immer ausgelöst.

    Attributabfrage

    Die Aktion wird auf Grundlage von Attributkriterien ausgelöst. Informationen zum Festlegen eines Attribut-Triggers

    Lagebezogene Abfrage

    Die Aktion wird auf Grundlage von Positionskriterien ausgelöst. Informationen zum Festlegen eines Positions-Triggers

    Attribut- UND lagebezogene Abfrage

    Die Aktion wird auf Grundlage einer Kombination von Attribut- und Positionskriterien ausgelöst.

  13. Wenn Sie den Trigger für die Aktion festgelegt haben, klicken Sie auf OK, um die Aktion zu erstellen.
  14. Die neue Aktion wird in der Liste der Layer-Aktionen angezeigt. Wenn in der Liste weitere Layer-Aktionen angezeigt werden, können Sie sie mit dem Nach-oben- und Nach-unten-Pfeil in die Reihenfolge bringen, in der sie auf den Tracking-Layer angewendet werden sollen. Sie können auch Layer-Aktionen in der Liste aktivieren oder deaktivieren, indem Sie das entsprechende Kontrollkästchen aktivieren bzw. deaktivieren.
    Mit dem Nach-oben- und Nach-unten-Pfeil kann die Reihenfolge der Aktionen geändert werden.
  15. Klicken Sie im Dialogfeld Layer-Eigenschaften auf Übernehmen oder OK, um alle Änderungen zu übernehmen.
Tipp:
Von dieser Aktion verwendete VB-Makros müssen dem Format der Echtzeit-Tracking-Daten entsprechen. Einige einfache VB-Makros als Hilfe finden Sie hier:

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
Vorsicht:

Gehen Sie beim Verwenden der benutzerdefinierten VB-Aktion mit Bedacht vor. Wenn Sie das oben als Beispiel angegebene Makro mit dem Meldungsfeld beispielsweise für einen Echtzeit-Datenfeed mit Tausenden von Datensätzen verwenden und alle Datensätze die Trigger-Kriterien für die Aktion erfüllt, müssen Sie für jedes einzelne Ereignis ein Meldungsfeld schließen.

Verwandte Themen

  • Layer-Aktionen
  • Festlegen eines Attribut-Triggers für eine Aktion
  • Festlegen eines lagebezogenen Triggers für eine Aktion

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2019 Esri. | Datenschutz | Rechtliches