Skip To Content

ジオイベント定義の管理

ジオイベント定義は、イベント レコードのスキーマを定義します。 ジオイベント サービス内のフィルターとプロセッサー間でルーティングされるイベント レコードには、日付、文字列、整数、ジオメトリーなどの特定のデータ タイプの属性があります。 属性フィールドの名前およびデータ タイプは、ジオイベント定義で指定されます。 ジオイベント定義を表示するには、ArcGIS GeoEvent Manager[サイト] > [ジオイベント] > [ジオイベント定義] の順にクリックします。

ジオイベント定義を含む GeoEvent Manager

ジオイベント定義の概要

入力コネクターを構成する際に、センサーから取り込まれる未処理データを適合するために入力が使用できるジオイベント定義を指定する必要があります。 入力では、JSON、XML、または区切りテキストとして書式設定されたデータを適合してイベント レコードを作成します。 同様に、出力コネクターは、ジオイベント定義を使用して、処理済みイベント レコードからデータを抽出し、配布できるよう書式設定します。

ジオイベント定義の作成と編集は、ユーザーが実行できます。 一部の入力コネクターでは、受信したデータから検出したデータに基づいてイベント定義を作成することができます。 管理者はイベント定義をインポートして、公開済みフィーチャ サービスのフィーチャ レコードの更新などの処理に対応できます。

注意:

GeoEvent Server には、[インシデント][トラック ギャップ] という 2 つのジオイベント定義がインストールされています。 これらのジオイベント定義は表示またはコピーのみが可能で、削除や編集はできません。 インシデント ディテクター プロセッサーおよびトラック ギャップ ディテクター プロセッサーがこれらのジオイベント定義を使用します。

GeoEvent Server の概要チュートリアルは、ジオイベント定義を作成する方法、入力コネクターが受信したデータからジオイベント定義を構築する方法、公開済みフィーチャ サービスからジオイベント定義をインポートする方法に関する演習を実行できるようになっています。 このチュートリアルには、「GeoEvent Server チュートリアル」からアクセスすることもできます。

ジオイベント定義のフィールド データ型

ジオイベント定義に含まれる各フィールドには、フィールド データ型が関連付けられています。 このフィールド データ タイプを使用するのは、入力コネクターがストリーミング イベント データからイベント レコードを構築する場合、または出力コネクターからイベント レコードが送信される前にイベント レコードを分解する場合です。

使用できるフィールド データ型は次のとおりです。

  • Boolean
  • Date
  • Double
  • Float
  • Geometry
  • グループ
  • Integer
  • Long
  • Short
  • String

グループ データの詳細

ジオデータベースでは、GeoEvent Server でサポートされている以外のデータ タイプがサポートされています。 次の表に、一般的な GeoEvent Server データ タイプがジオデータベース フィールド データ タイプにどのようにマッピングされるかを示します:

GeoEvent Server のデータ タイプジオデータベース フィールド データ タイプ

Double

esriFieldTypeDouble

Float

esriFieldTypeSingle

Date

esriFieldTypeDate

Short

esriFieldTypeSmallInteger

Integer

esriFieldTypeInteger

Long

esriFieldTypeDouble

String

esriFieldTypeString

Geometry

esriFieldTypeGeometry
注意:

GeoEvent Server では、string、date、Boolean などの Java ネイティブ データ タイプがサポートされています。 ジオデータベースでは esriFieldType 定数を使用してフィールド データ タイプが定義されます。 GeoEvent Server で使用される一部の Java ネイティブ データ タイプはジオデータベース フィールド データ タイプに直接マッピングされます。 たとえば、GeoEvent Server では Boolean データ タイプがサポートされていますが、ジオデータベースには [esriFieldTypeBoolean] データ タイプがありません。 このため、ホスト フィーチャ レイヤーを公開する場合、Boolean 値 (true または false) は、[esriFieldTypeString] データ タイプを使用して処理され、ジオデータベースに書き込まれるときに文字列リテラル (true または false) として保存されます。 JSON データ オブジェクト仕様と Java ネイティブ データ タイプの両方でサポートされている true または false の値が、ユーザーのリアルタイム データに含まれている場合は、それらの値をジオデータベースに書き込む前にジオイベント サービスで文字列リテラルである “true” または “false” に明示的に変換することをおすすめします。

フィールド基数

一部のイベント ベースのデータ ストリームでは、単一のフィールドに複数のエントリーが含まれるスキーマ (配列など) を定義できます。 このようなフィールドは、1 より大きい基数を持つフィールドとしてジオイベント定義で表現されます。 フィールド基数は、この条件が検出されたデータ ストリームに対応することを意図している高度なフィーチャです。 管理者は、フィールド基数を [One] から [Many] に変更することで、GeoEvent Manager でジオイベント定義の基数を設定できます。

階層と基数の詳細

フィールド グループ

一部のデータ フィードでは、単一のフィールドの内容が離散型データ (Date、String、Integer など) ではなく、複数のデータ型のデータ値を含む 1 つのグループであるスキーマを定義できます。 このようなフィールドは、ジオイベント定義でグループとして表現されます。 グループ内の各フィールドの離散型データは、フィールド グループ名の下に一覧表示されます。

フィールド グループは、この条件が検出されたデータ フィードに対応することを意図しているもう 1 つの高度なフィーチャです。 グループ フィールド データ型にはネストされたグループを入力できるため、複雑な構造体を作成することができます。

ジオイベント定義フィールドを GeoEvent Manager でグループ フィールドとして設定するには、フィールドのタイプを [グループ] に変更します。

注意:

すべての出力コネクターが、フィールドに複数の基数またはグループの構造が含まれるイベント データをサポートしているわけではありません。 たとえば、フィーチャの追加出力コネクターまたはフィーチャの更新出力コネクターのいずれかを使用する場合は、フィールド マッパー プロセッサーを使用して、フィーチャ サービスのレイヤーが期待するスキーマと一致するように、イベント データの構造をフラットにする必要があります。 もう 1 つの例として、フィーチャをストリーム サービスに送信出力コネクターを使用する場合は、ストリーム レイヤーから生成されるフィーチャのポップアップに階層構造 JSON ではなくシンプル テキストの値が表示されるように、イベント データの構造をフラットにする必要があります。

フィールド名の制限

ジオイベント定義の属性フィールド名には次の文字を使用できません: $ . [ ] ? * < > ! = { } % ( )。 フィールド名は制限されませんが、通常は算術演算子または論理演算子として認識されるメタ文字 (加算 (+)、減算 (-)、乗算 (*)、除算 (/)、論理 AND (&&)、論理 OR (||) など) および空白も使用しないでください。

英数字とアンダースコア以外のすべての文字をフィールド名から削除することをおすすめします。 詳細については、「フィールド名のガイドライン」および Esri テクニカル サポート の記事「ArcGIS でフィールド名とテーブル名に使用してはならない文字はどれですか」をご参照ください。

ジオイベント定義の属性フィールド名に推奨されないメタ文字が含まれている場合は、フィールド名の制限に対処するため、イベント処理ワークフローのできるだけ早い段階で、フィールド マッパー プロセッサーを使用してイベント レコードのスキーマをマッピングし直してください。

フィールド名の分離の詳細