フィールド エンリッチャー (フィーチャ サービス) プロセッサは、公開されたフィーチャ サービスのフィーチャ レイヤーまたは非空間テーブルの属性データの情報をイベント レコードに付加 (または結合) するときに使用します。 属性は、処理済みイベント レコードの新しいフィールドとして付加されます。
例
フィールド エンリッチャー (フィーチャ サービス) プロセッサの使用例を次に示します。
- フィールド エンリッチャー (フィーチャ サービス) プロセッサを使用して、非空間データに空間コンポーネントを付加できます。 たとえば、関連するフィーチャ レイヤーから取得したジオメトリ (位置) をセンサーからの属性データに追加できます。 これにより、リアルタイムの属性更新を受信したときに、マップ上のセンサーを視覚化できます。 その後、センサーは属性の変更に基づいてシンボル化されます。
- フィールド エンリッチャー (フィーチャ サービス) プロセッサを使用すると、関連するフィーチャ レイヤーに格納された日々の運転手アサインメント情報を車両位置自動特定 (AVL) フィードからのリアルタイムの車両データに付加できます。 運転手がその日の車両に割り当てられたとき、フィーチャ レイヤーからの対応する運転手情報がリアルタイムの車両の位置とステータスに付加されます。 これは、リアルタイムでの事故の監視に役立ちます。
使用上の注意
フィールド エンリッチャー (フィーチャ サービス) プロセッサを使用する際には、以下の点に注意してください。
- フィールド エンリッチャー (フィーチャ サービス) プロセッサでは、登録済みの ArcGIS Server 接続を指定する必要があります。これには、フィーチャ サービス内のサービス フォルダー、フィーチャ サービス名、およびターゲット レイヤーが含まれます。 付加される各フィールドのデータ タイプは、元の付加情報から引き継がれます。それらのデータ タイプは、プロセッサの構成時には指定しません。
- イベント レコードへの情報付加はテーブル結合に依存します。 フィーチャ サービスのテーブルのフィールド名と、結合が実行されるフィールド名を指定できます。 フィーチャ サービスのテーブルの実際のフィールド名を指定する必要があります。結合が実行されるフィールドは、処理中のイベントに関連付けられたジオイベント定義内のフィールド名またはフィールドに適用されたタグを使用して指定できます。
- 付加情報に含めるフィールドのカンマ区切りのリストを、フィールドを選択するか、手動で入力できます。 必要に応じて、GeoEvent Server が新規に作成する各フィールドに適用するタグを、2 つ目のカンマ区切りのリストとして指定できます。
- プロセッサは、ポーリングされたフィーチャ レコードをキャッシュする仕組みになっています。 これにより、パフォーマンスが向上し、イベント レコードが処理されるたびにフィーチャ サービスに対して実行されるリクエストの総数が減ります。 イベント レコードを受信したとき、プロセッサは対応するフィーチャ レコードのフィーチャ サービスをポーリングします。 ポーリングが完了すると、フィーチャ レコードはキャッシュされ、[キャッシュ更新時間間隔 (分)] パラメーターにより構成された期間に基づいて再利用されます。 キャッシュ可能なフィーチャ レコードの総数は、[フィーチャ レコードの最大数] パラメーターで制御できます。
- ジオイベントに情報を付加すると、イベント レコードのスキーマが変更されるため、GeoEvent Server は新しいジオイベント定義を作成する必要があります。 新しいジオイベント定義は GeoEvent Server で管理され、プロセッサまたはプロセッサが使用されているジオイベント サービスに対して変更が行われた場合に削除されます。
- ArcGIS Enterprise、ArcGIS Online、および ArcGIS Server (スタンドアロン) のマップ サービスまたはフィーチャ サービスは、フィールド エンリッチャー (フィーチャ サービス) プロセッサで使用できます。
- [ジオイベント結合フィールド] パラメーターで使用する既存のフィールドを特定するとき、最初にジオイベント定義を指定する必要はありません。 [定義] メニューでジオイベント定義を選択すると、[フィールド] メニューで選択可能なフィールドのリストが絞り込まれます。
パラメーター
フィールド エンリッチャー (フィーチャ サービス) プロセッサのパラメーターを次に示します。
パラメーター | 説明 |
---|---|
Name |
GeoEvent Manager で参照用として使用されるプロセッサの記述名。 |
プロセッサ |
選択されたプロセッサを示します。 |
登録済みのサーバー接続 | GeoEvent Server にデータ ストアとして登録された ArcGIS Server、ArcGIS Enterprise、または ArcGIS Online 接続。 登録済みのサーバー接続は、フィーチャ サービス、フィーチャ レイヤー、およびレイヤー プロパティに関する情報をキャッシュします。 イベント データへの情報付加に使用されるフィーチャ サービスを含む登録済みのデータ ストア接続を指定します。 注意:このプロセッサでは、[ArcGIS Server の登録] をクリックして新しい ArcGIS Server、ArcGIS Enterprise、または ArcGIS Online データ ストア接続を登録できます。 または、[サイト] → [データ ストア] の順に移動して、新しいデータ ストア接続を GeoEvent Manager に登録できます。 |
レイヤー タイプへの参照 | 参照するレイヤー タイプを定義します。
|
フォルダー | イベント レコードに情報を付加するためのマップ サービスまたはフィーチャ サービスが配置される ArcGIS Server サービス フォルダーまたは ArcGIS Enterprise ポータル/ArcGIS Online コンテンツ アイテム フォルダー。 |
サービス | フィーチャ レコードのポーリング元となるフィーチャ サービスの名前。 |
レイヤー | フィーチャ レコードのポーリング元となるフィーチャ レイヤーの名前。 |
サービス レイヤー URL (条件) | 情報付加に使用するフィーチャ サービス レイヤーへの URL。 このパラメーターは、[レイヤー タイプへの参照] が [サービス レイヤー URL] に設定されている場合に表示され、[レイヤーの参照] に設定されている場合は非表示になります。 |
フィーチャ レイヤーの結合フィールド | 処理済みイベント レコードとの属性結合を実行するために使用されるフィーチャ レイヤーのフィールドの名前。 結合は、このフィールドと [ジオイベント結合フィールド] パラメーターで指定されたフィールドの対応するデータ値で実行されます。 |
ターゲット フィールド | フィーチャ レイヤーから取得された情報付加済みデータに使用されるターゲット フィールド。 デフォルトは [新しいフィールド] です。
|
情報付加フィールド | 処理済みイベント レコードに情報を付加 (結合) するために使用するフィーチャ レイヤーのフィールドを指定します。 カンマ区切りリスト (スペースなし) を使用して、イベントレコードに情報を付加するためのフィールドを 2 つ以上選択します (たとえば、DriverName,Driver_ID,Route)。 注意:フィーチャ レイヤーからフィールドを選択するための代替方法として、[フィールドの選択] を使用します。 |
ジオイベント結合フィールド | フィーチャ レイヤーのデータとの属性結合を実行するために使用されるイベント レコードのフィールドの名前。 結合は、このフィールドと [フィーチャ レイヤーの結合フィールド] パラメーターで選択されたフィールドの対応するデータ値で実行されます。 注意:受信イベント レコードのジオイベント定義を識別するには、[定義] メニューを使用します。 ジオイベント定義を選択すると、選択するフィールドの範囲が制限されます。 [フィールド] メニューを使用して、結合に使用される既存のファイルの名前を特定します。 |
フィールド タグ (条件) | 処理済みイベント レコードに追加される新しいフィールドに適用するタグまたはカンマ区切りのタグのリスト。 タグの順番は指定された情報付加フィールドの順番と一致する必要があります (たとえば、GEOMETRY,TRACK_ID,TIME_START)。 注意:タグは GeoEvent Manager にすでに存在している必要があります。プロセッサは新しいタグを作成しません。 このパラメーターは、[ターゲット フィールド] が [新しいフィールド] に設定されている場合に表示され、[既存のフィールド] に設定されている場合は非表示になります。 |
新しいジオイベント定義名 (条件) | 新しいジオイベント定義に与えられる名前。 新しいジオイベント定義は、受信イベント レコードのスキーマと、フィーチャ レイヤーの情報付加値の格納に使用される新しいフィールドの組み合わせです。 このパラメーターは、[ターゲット フィールド] が [新しいフィールド] に設定されている場合に表示され、[既存のフィールド] に設定されている場合は非表示になります。 |
キャッシュ更新時間間隔 | 個別のフィーチャ レコードがイベント レコードへの情報付加に使用された後でメモリに格納される (キャッシュされる) 時間を指定します。 キャッシュ済みフィーチャ レコードは、対応する追加のイベント レコードに情報を付加するために使用されます。 フィーチャ レコードの [キャッシュ更新時間間隔] が超過すると、プロセッサはキャッシュからフィーチャ レコードを消去して、追加のフィーチャ レコードのためのスペースを確保します。 結合を必要とする別のイベント レコードを受信したときに、フィーチャ レコードのフィーチャ サービスに対して新しいリクエストが作成されます。 デフォルトは 1 です。 注意:キャッシュ済みフィーチャ レコードはメモリに格納されます。 |
キャッシュ更新時間単位 | [キャッシュ更新時間間隔] パラメーターの時間単位を指定します。 デフォルトは [分] です。 |
フィーチャ レコードの最大数 | メモリ (キャッシュ) 内に格納されるフィーチャ レコードの最大数を指定します。 フィーチャ レコードの数がこのパラメーターで指定された値を超える場合、新しいフィーチャ レコードのスペースを確保するためにキャッシュ内の最も古いフィーチャ レコードが消去されます。 この処理は、[キャッシュ更新時間間隔 (分)] パラメーターで指定された値に関係なく発生します。 デフォルトは [1000] です。 |
検討事項および制限事項
フィールド エンリッチャー (フィーチャ サービス) プロセッサを使用する際には、以下の点に注意してください。
- このプロセッサのキャッシュ設定を調整する際はバランスを取ることを検討してください。 フィーチャ レコードがキャッシュされる時間間隔を増やすと、フィーチャ サービスに対して実行されるリクエストの数が減ります。 これにより、フィーチャ レコードは繰り返されるネットワーク リクエストではなくメモリから結合されるため、プロセッサの合計スループット パフォーマンスが向上します。 この方法とのトレードオフは、結合に使用されるフィーチャ レコードが本質的に古くなることです。 フィーチャ レコードを頻繁に更新しない場合は [キャッシュ更新時間間隔 (分)] パラメーターで設定する値を増やすことをお勧めします。 たとえば、フィーチャ レコードが 72 時間おきに更新される場合、キャッシュ更新時間が毎分 (デフォルト設定) ではなくほぼ同じ時間になるように調整することを検討してください。 これにより、変化せずメモリに格納されるフィーチャ データに対して行われるサービス リクエストの数が減ります。
- [フィーチャ レコードの最大数] パラメーターの値を増やすと、メモリ (キャッシュ) に格納されるフィーチャ レコードが増えます。 [キャッシュ更新時間間隔 (分)] パラメーターの値も増やす場合は、この変更を行うことを検討してください。 より長い間キャッシュされるフィーチャ レコードは、受信イベント データの割合に応じてより大きな数を累積できます。 [フィーチャ レコードの最大数] パラメーターの値を増やすことのトレードオフは、より多くのシステム メモリが使用されることです。
- [フィーチャ レコードの最大数] パラメーターの値を減らすことはあまりお勧めしません。 これによって、プロセッサのパフォーマンスに悪影響を及ぼす可能性があります。 たとえば、[フィーチャ レコードの最大数] パラメーターの値を 0 に設定すると、フィーチャ レコードはキャッシュされません。 到着する一意のイベント レコードの数が毎秒 2,000 の場合、情報付加のフィーチャ レコードを取得するために、プロセッサは毎秒 (1 秒ごと) 2,000 リクエストをフィーチャ サービスに効果的に発行する必要があります。 これにより、GeoEvent Server の総合的なパフォーマンスが低下するだけでなく、大量のリクエストを処理する必要がある外部サーバーにも悪影響を与える可能性があります。
- フィーチャ レコードの最大数のサイズを超えた場合、GeoEvent Server は最も古いキャッシュ済みフィーチャ レコードを消去して新しいフィーチャ レコードを格納します。 たとえば、[フィーチャ レコードの最大数] の値が 100 に設定されていて、101 個の一意のイベント レコードが処理される場合、101 番目のフィーチャ レコードのスペースを確保するために最初のキャッシュ済みフィーチャ レコードが消去されます。 これは、キャッシュ更新時間間隔が超過したかどうかに関係なく発生します。
- 大量かつ高速のデータ フィードのジオイベント サービスでこのプロセッサが最初に使用される場合、受信イベント レコードの未処理が累積することは珍しくありません。 その理由は、GeoEvent Server はフィーチャ サービスへの一連のリクエストを発行して、初めて結合するフィーチャ レコードのキャッシュを構築する必要があるためです。 フィーチャ レコードがキャッシュに累積し始めると、プロセッサは後続のイベント レコードをメモリから結合できます。その結果、処理パフォーマンスが向上します。
- ネットワーク遅延が発生すると、このプロセッサのパフォーマンスに大きな影響があります。 たとえば、ネットワーク遅延の変動によりフィーチャ レコードの取得にかかる時間が 100 ミリ秒から 200 ミリ秒に増加した場合、同じ時間単位で処理可能なイベント レコードの数は半分に減ります。 その理由は、発生する有効な結合のフィーチャ レコードの取得に 2 倍の時間がかかるためです。