GeoEvent Server 内のイベント データには、そのイベントのデータに関する属性フィールドとデータ タイプ (Date、String、Integer など) を識別するスキーマが関連付けられています。 このスキーマを「ジオイベント定義」と呼びます。 ジオイベント定義を表示するには、ArcGIS GeoEvent Manager で [サイト] > [ジオイベント] > [ジオイベント定義] の順にクリックします。
ジオイベント定義の概要
入力コネクタが受信したイベントからジオイベントを構築するために、イベント ストリーム内のデータと整合性のあるジオイベント定義が必要となります。 同様に、出力コネクタがジオイベントを構築してイベント データを送信するために、指定された出力のスキーマと整合性のあるジオイベント定義が必要となります。
ジオイベント定義の作成と編集は、ユーザーが実行できます。 一部の入力コネクタでは、受信したイベントから検出したデータに基づいてイベント定義を作成することができます。 管理者はイベント定義をインポートして、公開済みフィーチャ サービスの更新などの処理に対応できます。 これは、すでに登録されたジオイベント定義は頻繁に変更されることを意味しています。
注意:
GeoEvent Server には、[インシデント] と [トラック ギャップ] という 2 つのジオイベント定義がインストールされています。 これらのジオイベント定義は表示またはコピーのみが可能で、削除や編集はできません。インシデント ディテクター プロセッサおよびトラック ギャップ ディテクター プロセッサがこれらのジオイベント定義を使用します。
GeoEvent Server の概要チュートリアルは、ジオイベント定義を作成する方法、入力コネクタが受信したデータからジオイベント定義を構築する方法、公開済みフィーチャ サービスからジオイベント定義をインポートする方法に関する演習を実行できるようになっています。 このチュートリアルには、「GeoEvent Server チュートリアル」からアクセスします。
ジオイベント定義のフィールド データ型
ジオイベント定義に含まれる各フィールドには、フィールド データ型が関連付けられています。 このフィールド データ型を使用するのは、入力コネクタがストリーミング イベント データからジオイベントを構築する場合、または出力コネクタからジオイベントが送信される前にジオイベントを分解する場合です。
使用できるフィールド データ型は次のとおりです。
- Boolean
- Date
- Double
- Float
- Geometry
- Group*
- Integer
- Long
- Short
- String
* Group データ型の詳細については、以下の「フィールド グループ」をご参照ください。
フィールド基数
一部のイベント ベースのデータ ストリームでは、単一のフィールドに複数のエントリが含まれるスキーマ (配列など) を定義できます。 このようなフィールドは、1 より大きい基数を持つフィールドとしてジオイベント定義で表現されます。 フィールド基数は、この条件が検出されたデータ ストリームに対応することを意図している高度なフィーチャです。
管理者は、フィールド基数を [One] から [Many] に変更することで、GeoEvent Manager でジオイベント定義の基数を設定できます。
フィールド グループ
一部のデータ フィードでは、単一のフィールドの内容が離散型データ (Date、String、Integer など) ではなく、複数のデータ型のデータ値を含む 1 つのグループであるスキーマを定義できます。 このようなフィールドは、ジオイベント定義で「Group」として表現されます。 グループ内の各フィールドの離散型データには、フィールド グループの名前の下でインデントが設定されます。
フィールド グループは、この条件が検出されたデータ フィードに対応することを意図しているもう 1 つの高度なフィーチャです。 グループ フィールド データ型にはネストされたグループを入力できるため、複雑な構造体を作成することができます。
ジオイベント定義のフィールドを GeoEvent Manager でグループ フィールドとして設定するには、フィールドのタイプを [グループ] に変更します。
注意:
すべての出力コネクタが、フィールドに複数の基数またはグループの構造が含まれるデータをサポートしているわけではありません。 たとえば、[フィーチャの追加] 出力コネクタまたは [フィーチャの更新] 出力コネクタのいずれかを使用する場合は、フィールド マッパー プロセッサを使用して、フィーチャ サービスのレイヤーが期待するスキーマと一致するように、イベントのデータ構造をフラットにする必要があります。 もう 1 つの例として、フィーチャをストリーム サービスに送信出力コネクタを使用する場合は、ストリーム レイヤーから生成されるフィーチャのポップアップに階層図 JSON ではなくシンプル テキストの値が表示されるように、イベントのデータ構造をフラットにする必要があります。
フィールド名の制限
ジオイベント定義の属性フィールド名には次の文字を使用できません: $ . [ ] ? * < > ! = { } % ( )。 フィールド名は制限されませんが、通常は算術演算子または論理演算子として認識されるメタ文字 (加算 (+)、減算 (-)、乗算 (*)、除算 (/)、論理 AND (&&)、論理 OR (||) など) および空白も使用しないでください。
ベスト プラクティスとして、英数字とアンダースコア以外のすべての文字をフィールド名から削除してください。 詳細については、「フィールド名のガイドライン」および Esri テクニカル サポート記事「ArcGIS でフィールド名とテーブル名に使用してはならない文字はどれですか」をご参照ください。
ジオイベント定義の属性フィールド名に何らかの推奨されていないメタ文字を使用する必要がある場合、フィールド名の制限に対処するため、イベント処理ワークフローのできるだけ早い段階で、フィールド マッパー プロセッサを使用してイベント レコードのスキーマをマッピングし直してください。 例については、「フィールド名の分離」の図をご参照ください。