Skip To Content

GeoEvent Simulator でのデータのシミュレート

GeoEvent Simulator は、ArcGIS GeoEvent Server で利用できる Windows アプリケーションであり、シミュレーション テキスト ファイルまたはフィーチャ レイヤーから指定した TCP ソケットへのイベント データの送信に使用できます。 GeoEvent Simulator から送信されたイベント データは、GeoEvent ServerTCP ソケットからテキストを受信入力によって受信されます。GeoEvent Server は、シミュレートされたデータの送信先になる TCP ソケットをホストして監視します。 入力の TCP トランスポートは、データをバイト ストリームとして受信し、入力のテキスト アダプターは、ジオイベント定義を使用してデータを解釈し、ジオイベントを作成します。 入力がジオイベント サービスに組み込まれている場合、ジオイベントは、ジオイベント サービスが取得して処理するために、メッセージ キューに配置されます。

GeoEvent Simulator には、Windows の ArcGIS プログラム グループからアクセスできます。 以下の図と表に、GeoEvent Simulator の主要なコンポーネントとその説明を示します。

GeoEvent Simulator のコンポーネント

パラメーターまたは機能説明

1 - サーバー

GeoEvent Simulator が接続するサーバーのホスト名。 デフォルトは、[localhost] です。

2 - TCP ソケット

指定されたサーバー上の TCP ソケット。GeoEvent Simulator は、シミュレートされたイベント データをこの TCP ソケットに送信します。

3 - ファイル/レイヤー選択

シミュレートされたイベント データを、テキスト ファイルまたはフィーチャ レイヤーのどちらから読み込むかを指定します。 .csv ファイルからのデータをシミュレートするのが、GeoEvent Simulator の一般的な使用例です。

4 - ファイル/レイヤーのリソース

ファイルのパス名またはフィーチャ レイヤーの URL を指定するテキスト フィールド。GeoEvent Simulator は、それらのファイルまたはフィーチャ レイヤーからイベント データを取得します。

5 - メッセージ レート

イベント データが送信されるレート。 デフォルトでは、1,000 ミリ秒ごとに 1 つのイベント レコードが送信されます。 さらに速いレート (たとえば、250 ミリ秒ごとに 5 つのメッセージ) または遅いレート (たとえば、2,500 ミリ秒ごとに 1 つのメッセージ) でデータを送信するには、この値を変更します。

6 - 先頭へジャンプ、再生、ステップ、および繰り返し再生

GeoEvent Simulator をイベント データの先頭に設定する場合は [先頭へジャンプ] コントロールを使用し、すべてのイベントの送信を開始する場合は [再生] コントロールを使用し、1 つのイベント レコードを GeoEvent Server に送信する場合は [ステップ] コントロールを使用します。

最後のレコードに達したときに連続的にイベント データを繰り返す (再生する) には、[繰り返し再生] をオンにします。

7 - 次のイベントメッセージ

GeoEvent Server に送信される次のイベント レコードの区切りテキスト表現。

8 - イベントのインデックス

シミュレートされたイベント データをスクロールします。 位置を変更すると、範囲の中央に表示された現在のインデックスが、現在のイベントのインデックスを示すように変更されます。

9 - 時間フィールド番号

シミュレートされたイベント データ内の、日付/時間を指定するフィールドを選択します。 この配列は、ゼロをベースにします。つまり、(上の例では) イベント レコードの一意識別子 (トラック ID) のすぐ右にある値は、紀元からの時間を示す Long 型整数です。

10 - 現在の時間に値を設定

このチェックボックスをオンにした場合、GeoEvent Simulator は、シミュレートされたイベント データから取得した日付/時間情報を破棄し、システムの現在の時間に置き換えます。

11 - 時間値の表示

左側のテキスト フィールドには、シミュレートされたイベント データから取得されたイベント レコードの日付/時間が表示されます。 右側のテキスト フィールドには、シミュレートされたイベント レコードとともに送信される日付/時間が表示されます。

12 - 最後のイベントメッセージ

GeoEvent Server に最後に送信されたイベント レコードの区切りテキスト表現を表示します。

GeoEvent Server への GeoEvent Simulator の接続

GeoEvent Simulator を最初に開くときに、GeoEvent Server の入力のいずれかによってホストされた TCP ソケットに接続する必要があります。その後、シミュレートされたイベント レコードを GeoEvent Server に送信できるようになります。 GeoEvent Manager を使用して TCP ソケットからテキストを受信入力を構成し、GeoEvent Simulator が接続できる特定のソケットを設定します。

TCP またはテキスト入力が構成され、GeoEvent Server で開始された状態で、次の手順を実行して GeoEvent Server を GeoEvent Simulator に接続します。

  1. TCP またはテキスト入力で指定した値に一致するように、[サーバー] および [ポート] の値を設定します (デフォルト値は localhost およびポート 5565)。
  2. [サーバーに接続] サーバーに接続 をクリックして、指定したサーバー上の GeoEvent Simulator および GeoEvent Server と、TCP ポートとの間の接続を確立します。

    アイコンが 接続が確立された に変化したときに、有効な接続が確立されています。

GeoEvent Simulator へのイベント データの読み込み

シミュレートされたイベント データを GeoEvent Simulator に読み込むには、イベント データを区切りテキストとして表しているコンテンツを含んでいる .csv ファイルまたは .txt ファイルのいずれかを参照するか、フィーチャ レイヤー内のフィーチャからイベント データを読み込む必要があります。

.csv ファイルまたは .txt ファイルからのイベント データの読み込み

.csv ファイルまたは .txt ファイルからイベント データを読み込むには、次の手順を実行します。

  1. ドロップダウン メニューから [ファイル] を選択します。
  2. [参照] 参照 をクリックして .csv ファイルまたは .txt ファイルを参照し、イベント データに応じて以下を行います。
    • [イベントの区切り記号] および [フィールドの区切り記号] の値を入力します。
    • イベント データに、イベントの日付/時間情報を含んでいる属性フィールドがある場合、[時間フィールド番号] の値を設定します。
    • イベント データに、列ごとにフィールド名 (ヘッダー) が含まれている場合、フィールド名が含まれないようにするために、上からスキップする行数を選択します。
    • プレビュー ウィンドウでイベント データを確認します。
    • [読み込み] をクリックして、イベント データを GeoEvent Simulator に読み込みます。

    .csv ファイルまたは .txt ファイルに含まれているイベント データには、各属性値間の明確な区切り文字および各イベント レコード間の明確な区切り文字の両方が存在する必要があります。 デフォルトの区切り文字は、属性間ではカンマ (,)、イベント レコード間では改行です。

    [ファイルから読み込み] ダイアログ ボックスには、最初の 12 個以上のイベント レコードが、指定した区切り文字を使用して解析されて表示されます。 属性値 (たとえば、フィールド 0、フィールド 1、フィールド 2、フィールド 3) がジオイベント定義で指定した属性フィールドにマップされ、.csv ファイルまたは .txt ファイル内の値をジオイベント定義内の属性ごとに指定したデータ タイプに暗黙的にキャストできるということは重要です。

    日付/時間値は、ISO 8601 形式の文字列 (たとえば、2016-12-31T23:59:59+00:00) または紀元からのミリ秒単位の時間を示す Long 整数 (たとえば、1483228799000) として表現できます。 ISO 8601 形式および紀元からの時間を示す Long 整数形式は、曖昧さが少ない傾向がありますが、入力コネクタは、GeoEvent Simulator から送信された文字列値 (12/31/2016 23:59:59 や 12/31/2016 12:59:59 PM など) を日付として解釈します。

マップまたはフィーチャ サービスからのイベント データの読み込み

シミュレートされたイベント データを GeoEvent Simulator に読み込むための別のオプションは、フィーチャ サービスからフィーチャ レコードを読み込むことです。 以下の手順を実行して、フィーチャ サービスからイベント データを追加します。

  1. ドロップダウン メニューから [レイヤー] を選択します。
  2. [レイヤーから読み込み] レイヤーから読み込み をクリックして [レイヤーから読み込み] ダイアログ ボックスを開きます。
  3. [レイヤーの選択] レイヤーの選択 をクリックして [レイヤーの選択] ダイアログ ボックスを開き、使用している環境に適したプロパティを設定します。
    1. データを読み取るマップ サービスまたはフィーチャ サービスをホストするサーバーの URL を入力します。
    2. 指定したサーバーに接続するための認証情報を入力します。
    3. [接続] をクリックして、指定したサーバーに接続します。
    4. 接続したら、[レイヤーの参照] をクリックします。
    5. サービス フォルダー、フィーチャ サービス、およびレイヤー (これらのパラメーターから構成された URL が表示されます) を選択し、[OK] をクリックします。
  4. [レイヤーから読み込み] ダイアログ ボックスで、[GeoEvent Server に接続] GeoEvent Server に接続 をクリックし、次の手順を実行します。
    1. GeoEvent Server への接続に使用される URL を入力します。
    2. [OK] をクリックし、GeoEvent Server への接続に使用される認証情報を入力します。
      注意:

      GeoEvent Server がフェデレートされている場合は、Portal for ArcGIS の管理用の認証情報を使用してサイン インする必要があります。 GeoEvent Server がフェデレートされていない場合は、基礎となる ArcGIS Server ユーザーまたはロール プロバイダーに定義された管理用の認証情報を使用します。

    3. [ログイン] をクリックして、GeoEvent Server への接続を確立します。

      GeoEvent Server へのログイン プロセスは、デフォルトで有効になっています。 下位互換性 (バージョン 10.8 以前) を保つ場合は、認証を無効にする必要があります。 GeoEvent Simulator で認証を無効にするには、メニューで [オプション] をクリックして、[GeoEvent Server 管理エンドポイントの使用] をオフにします。 これは、GeoEvent Simulator バージョン 10.8.1 以降を GeoEvent Server バージョン 10.8 以前に接続する必要がある場合にのみ、下位互換性を保つために必要です。

      GeoEvent Simulator のオプション

    .csv ファイルまたは .txt ファイルからデータを読み込む場合、GeoEvent Simulator が区切りテキストを解釈できるように、[イベントの区切り記号] および [フィールドの区切り記号] の値を指定する必要がありました。 フィーチャ レイヤーからイベント データを読み込む場合は、GeoEvent Simulator がフィーチャ レコードの解釈に使用するジオイベント定義を指定する必要があります。 残りの手順を実行することで、GeoEvent Manager を使用して、フィーチャ レイヤーからジオイベント定義をインポートします。

  5. ドロップダウン リストから、フィーチャ レイヤーのスキーマに一致する適切な [入力ジオイベント定義] の値を選択します。
  6. [出力ジオイベント定義名] では、デフォルトの名前を使用します。
  7. [読み込み] をクリックして、指定したフィーチャ サービスのフィーチャ レイヤーからフィーチャ レコードを読み込みます。
  8. 次のイベント メッセージ テキスト ボックスで、次のイベント レコードの区切りテキスト表現を確認します。 テキスト ボックスにマウス ポインターを合わせると、イベント レコードの文字列全体が表示されます。

    GeoEvent Simulator のイベント レコードの例

    選択したジオイベント定義の名前が、イベント レコードの区切りテキスト表現の先頭に追加されます。 GeoEvent Simulator はこの区切りテキストを GeoEvent Server に送信します。

  9. GeoEvent Manager を起動し、TCP ソケットからテキストを受信入力の [受信データにジオイベント定義が含まれる] パラメーターを [はい] に設定します。

    各イベント レコードにジオイベント定義名が含まれている必要があります。

    GeoEvent Simulator は、フィーチャ レコードのジオメトリの JSON 表現を送信するため、区切り文字列内の最後の値が、ジオイベント定義内の geometry タイプのフィールドに設定されていることを確認します。このフィールドは、イベント データを受信する入力コネクタによって使用されます。

  10. GeoEvent Simulator で、フィーチャ サービスからフィーチャ レコードが読み込まれたときに、必要に応じて、メイン メニューから [ファイル] > [名前を付けて保存] の順に選択することで、イベント レコードを .csv ファイルに保存します。