GeoEvent Simulator とは
GeoEvent Simulator は、ArcGIS GeoEvent Server で利用できる Windows アプリケーションであり、シミュレーション テキスト ファイルまたはフィーチャ レイヤーから指定した TCP ソケットへのイベント データの送信に使用できます。GeoEvent Simulator から送信されたイベント データは、GeoEvent Server の [TCP ソケットからテキストを受信] 入力によって受信されます。GeoEvent Server は、シミュレートされたデータの送信先になる TCP ソケットをホストして監視します。入力の TCP トランスポートは、データをバイト ストリームとして受信し、入力のテキスト アダプターは、ジオイベント定義を使用してデータを解釈し、ジオイベントを作成します。入力がジオイベント サービスに組み込まれている場合、ジオイベントは、ジオイベント サービスが取得して処理するために、メッセージ キューに配置されます。
GeoEvent Simulator には、Windows の ArcGIS プログラム グループからアクセスします。GeoEvent Simulator の主要なコンポーネントの一部を以下に示します。
プロパティまたはフィールド名 | 説明 |
---|---|
1 - サーバー | GeoEvent Simulator が接続を試みるサーバーのホスト名。デフォルトは、[localhost] です。 |
2 - TCP ソケット | 指定されたサーバー上の TCP ソケット。GeoEvent Simulator は、シミュレートされたイベント データをこの TCP ソケットに送信します。 |
3 - ファイル/レイヤー選択 | シミュレートされたイベント データを、テキスト ファイルまたはフィーチャ レイヤーのどちらから読み込むかを指定します。CSV ファイルからのデータをシミュレートするのが、GeoEvent Simulator の最も一般的な使用例です。 |
4 - ファイル/レイヤーのリソース | ファイルのパス名またはフィーチャ レイヤーの URL を指定するテキスト フィールド。GeoEvent Simulator は、それらのファイルまたはフィーチャ レイヤーからイベント データを取得します。 |
5 - メッセージ レート | イベント データが送信されるレート。デフォルトでは、1000 ミリ秒ごとに 1 つのイベント レコードが送信されます。さらに速いレート (たとえば、250 ミリ秒ごとに 5 つのメッセージ) または遅いレート (たとえば、2500 ミリ秒ごとに 1 つのメッセージ) でデータを送信するには、この値を変更します。 |
6 - 先頭へジャンプ、再生、ステップ、および繰り返し再生 | GeoEvent Simulator をイベント データの先頭に設定する場合は [先頭へジャンプ] コントロールを使用し、すべてのイベントの送信を開始する場合は [再生] コントロールを使用し、1 つのイベント レコードを GeoEvent Server に送信する場合は [ステップ] コントロールを使用します。 [繰り返し再生] は、最後のレコードに達したときに、GeoEvent Simulator が連続的にイベント データを繰り返す (再生する) かどうかを指定します。 |
7 - 次のイベント/メッセージ | GeoEvent Server に送信される次のイベント レコードの区切りテキスト表現を表示します。 |
8 - イベントのインデックス | シミュレートされたイベント データをスクロールする機能を提供します。位置を変更すると、範囲の中央に表示された現在のインデックスが、現在のイベントのインデックスを示すように変更されます。 |
9 - 時間フィールド番号 | シミュレートされたイベント データ内の、日付/時間を指定するフィールドを選択します。この配列は、ゼロをベースにします。つまり、(上に示された例では) イベント レコードの一意識別子 (TRACK_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 に接続します。
- TCP/テキスト入力で指定した値に一致するように、[サーバー] および [ポート] の値を設定します (デフォルト値は localhost およびポート 5565)。
- をクリックして、指定したサーバー上の GeoEvent Simulator および GeoEvent Server と、TCP ポートとの間の接続を確立します。アイコンが に変化したときに、有効な接続が確立されています。
GeoEvent Simulator へのイベント データの読み込み
シミュレートされたイベント データを GeoEvent Simulator に読み込むには、イベント データを区切りテキストとして表しているコンテンツを含んでいる CSV ファイルまたは TXT ファイルのいずれかを参照するか、フィーチャ レイヤー内のフィーチャからイベント データを読み込む必要があります。
CSV ファイルまたは TXT ファイルからのイベント データの読み込み
CSV ファイルまたは TXT ファイルからイベント データを読み込むには、以下の手順に従います。
- [ファイル/レイヤー] ドロップダウンを [ファイル] に設定します。
- をクリックして 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 に読み込むための別のオプションは、フィーチャ サービスからフィーチャ レコードを読み込むことです。以下の手順に従って、フィーチャ サービスからイベント データを追加します。
- [ファイル/レイヤー] ドロップダウンを [レイヤー] に設定します。
- をクリックして [レイヤーから読み込み] ダイアログを開きます。
- をクリックして [レイヤーの選択] ダイアログを開き、使用している環境に適したプロパティを設定します。
- データを読み取るマップ サービスまたはフィーチャ サービスをホストするサーバーの URL を入力します。
- 指定したサーバーに接続するための認証情報を入力します。
- [接続] をクリックして、指定したサーバーに接続します。
- 接続に成功したら、[レイヤーの参照] をクリックします。
- サービス フォルダー、フィーチャ サービス、およびレイヤー (これらのパラメーターから構成された URL が表示されます) を選択し、[OK] をクリックします。
- [レイヤーから読み込み] ダイアログで、 をクリックします。
- GeoEvent Server への接続に使用される URL を入力します。
- [OK] をクリックし、GeoEvent Server への接続に使用される認証情報を入力します。
注意:
GeoEvent Server がフェデレートされている場合、Portal for ArcGIS の管理用の認証情報を使用してログインする必要があります。GeoEvent Server がフェデレートされていない場合は、基になる ArcGIS Server のユーザー/ロール プロバイダーで定義されている管理用の認証情報を使用します。
- [ログイン] をクリックして、GeoEvent Server への接続を確立します。
GeoEvent Server へのログインは、デフォルトで有効になっています。下位互換性 (バージョン 10.8 以前) を保つ場合は、認証を無効にする必要があります。GeoEvent Logger での認証を無効にするには、メニューの [オプション] をクリックし、[GeoEvent Server の管理エンドポイントを使用] をオフにします。これは、GeoEvent Logger バージョン 10.8.1 以降を GeoEvent Server バージョン 10.8 以前に接続する必要がある場合にのみ、下位互換性を保つために必要です。
CSV ファイルまたは TXT ファイルからデータを読み込む場合、GeoEvent Simulator が区切りテキストの解釈方法を理解できるように、イベント区切り文字およびフィールド区切り文字を指定する必要がありました。フィーチャ レイヤーからイベント データを読み込む場合は、GeoEvent Simulator がフィーチャ レコードの解釈に使用するジオイベント定義を指定する必要があります。以下の高度な手順に従って GeoEvent Manager を使用して、フィーチャ レイヤーからジオイベント定義をインポートします。
- ドロップダウン リストから、フィーチャ レイヤーのスキーマに一致する適切な [入力ジオイベント定義] を選択します。
- [出力ジオイベント定義名] では、デフォルトの名前を使用します。
- [読み込み] をクリックして、指定したフィーチャ サービスのフィーチャ レイヤーからフィーチャ レコードを読み込みます。
- GeoEvent Simulator の [次のイベント メッセージ] テキスト ボックスで、次のイベント レコードの区切りテキスト表現を確認します。テキスト ボックスにマウス ポインターを合わせると、下に示すように、イベント レコードの文字列全体が表示されます。
GeoEvent Simulator が、選択したジオイベント定義の名前をイベント レコードの区切りテキスト表現の先頭に追加していることに注意してください。GeoEvent Simulator が GeoEvent Server に送信するのは、この区切りテキストです。
- GeoEvent Manager を開き、[TCP ソケットからテキストを受信] 入力の [受信データにジオイベント定義が含まれる] プロパティを [はい] に設定します。次に入力コネクタは、各イベント レコードにジオイベント定義名が含まれていることを必要とします。
GeoEvent Simulator は、フィーチャ レコードのジオメトリの JSON 表現を送信するため、区切り文字列内の最後の値が、ジオイベント定義内のジオメトリ タイプのフィールドに対応していることを確認します。このフィールドは、イベント データを受信する入力コネクタによって使用されます。
- 必要に応じて、GeoEvent Simulator では、フィーチャ サービスからフィーチャ レコードが読み込まれたときに、イベント レコードを CSV ファイルに保存することを選択できます。それを行うには、メイン メニューから [ファイル] → [名前を付けて保存] の順に選択します。