ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

リアルタイム レイヤーへのカスタム VB アクションの適用

前提条件:

Tracking Analyst に用意されているカスタム VB レイヤー アクションは、ArcGIS Desktop メディア パッケージに収録されている ArcGIS Desktop VBA Resources for Developers ソフトウェアをインストールしてライセンスを取得している場合に使用可能です。インストールとライセンスに関する情報は、ArcGIS Desktop インストール ガイドに記載されています。ArcGIS Desktop VBA Resources for Developers をインストールした後、そのヘルプ システムを参照し、Visual Basic Editor を使用して ArcGIS Desktop 用のマクロを作成する手順を確認してください。

この手順を実行する前に、Visual Basic Editor を使用して、このアクションで使用する VB マクロを作成しておく必要があります。

カスタム VB レイヤー アクションは、リアルタイム トラッキング レイヤーにのみ適用できるので、他のレイヤー アクションとは異なります。また、トラッキング サービスではなくトラッキング レイヤーで定義することから、サービス アクションとも異なります。VB アクションは、トラッキング レイヤーにリアルタイム イベントを追加するときにそのイベントに適用されますが、アクションを開始する前にレイヤーにすでに存在しているイベントには適用されません。

リアルタイム トラッキング レイヤーのカスタム VB アクションの詳細

  1. Visual Basic Editor を使用して、リアルタイム トラッキング レイヤーで使用する VB マクロを作成します。
  2. [コンテンツ] ウィンドウでアクションの適用先とするトラッキング レイヤーを右クリックして、ショートカット メニューの [プロパティ] をクリックします。[レイヤー プロパティ] ダイアログ ボックスが表示されます。

    または、[コンテンツ] ウィンドウで対象のトラッキング レイヤーをダブルクリックすることもできます。

  3. [レイヤー プロパティ] フォームの [アクション] タブをクリックします。
  4. [新規アクション] ボタンをクリックします。
    [新規アクション] ボタンをクリックしてアクションを新規作成します
  5. [作成するアクション タイプ] パネルの [Visual Basic] を選択します。[Visual Basic] オプションは、リアルタイム トラッキング レイヤーを扱っている場合にのみ表示されます。
    [Visual Basic] アクションを選択します
  6. テキスト ボックスをクリックして、アクションの名前を入力し、[OK] をクリックしてアクション パラメーター フォームを開きます。
  7. [Visual Basic アクション パラメーター] ダイアログ ボックスで [プロジェクト] ドロップダウン矢印をクリックし、[Project] または [Normal] を選択します。

    [Visual Basic アクション パラメーター] ダイアログ ボックス

  8. Normal フォルダーに保存されているマクロは、ArcMap で開くすべてのドキュメントに影響します。Project フォルダーにあるマクロは、現在のマップ ドキュメントにのみ影響します。

  9. [モジュール] ドロップダウン矢印をクリックし、マクロが記述されているモジュールを選択します。
  10. Visual Basic Editor のデフォルトのモジュール名は ThisDocument です。

  11. [マクロ] ドロップダウン矢印をクリックし、使用するマクロの名前を選択します。

    VB マクロを事前に作成してこのモジュールに保存している場合は、そのマクロがリストに表示されます。

  12. アクションにトリガーを設定します。[アクションの始動] パネルで、次の必要ないずれかのオプションのボタンをクリックし、さらに手順に従ってトリガーを設定します。

    常に(A)

    アクションは常に実行されます。

    属性検索

    アクションは、属性条件に基づいて実行されます。属性トリガーを設定する方法の詳細

    ロケーション クエリ(L)

    アクションは、ロケーション条件に基づいて実行されます。ロケーション トリガーを設定する方法の詳細

    属性 と ロケーション クエリ(B)

    アクションは、属性条件とロケーション条件の組み合わせに基づいて実行されます。

  13. 対象のアクションに対するトリガーの設定を完了したら、[OK] をクリックしてアクションを作成します。
  14. 新しいアクションがレイヤー アクションのリストに表示されます。そのリストにその他のレイヤー アクションが表示されている場合、上下の矢印ボタンを使用して、トラッキング レイヤーに適用する順序でそれらのレイヤー アクションを配置することができます。対応するチェックボックスをオンまたはオフにすることによって、リスト内のレイヤー アクションを有効または無効にすることもできます。
    上下の矢印ボタンを使用してアクションの順序を変更できます
  15. [レイヤー プロパティ] ダイアログ ボックスの [適用] または [OK] をクリックして、すべての変更内容を適用します。
ヒント:
このアクションで使用する VB マクロは、リアルタイム トラッキング データの形式に従っている必要があります。手がかりとなる簡単な VB マクロを以下に示します。

次のマクロを実行すると、受信データ メッセージの 5 番目のフィールドが ArcMap のステータス バーに表示されます。このマクロは、アクションのトリガー条件を満たす受信イベントすべてに対して実行されます。

Public Sub StatusBarMacro(ParamArray varArgs() As Variant)
    Application.StatusBar.Message(0) = varArgs(5)
End Sub

次のマクロを実行すると、受信データ メッセージの 3 番目のフィールドがメッセージ ボックスに表示されます。このマクロは、アクションのトリガー条件を満たす受信イベントすべてに対して実行されます。

Public Sub MessageBoxMacro(ParamArray varArgs() As Variant)
    MsgBox varArgs(3)
End Sub
注意:

カスタム VB アクションの使用には注意が必要です。たとえば、数千のイベントを伝送するリアルタイム データ フィードでこの例で挙げたメッセージ ボックス マクロを使用した場合、すべてのレコードがアクションのトリガー条件を満たしていると、この数千のイベントそれぞれでメッセージ ボックスを閉じる必要があります。

関連トピック

  • レイヤー アクション
  • アクションの属性トリガーの設定
  • アクションのロケーション トリガーの設定

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS プラットフォーム

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

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2019 Esri. | プライバシー | リーガル