Skip To Content

フィーチャの更新

[フィーチャの更新] 出力コネクタは、処理済みイベント レコードから取得した属性を使用し、フィーチャ サービスのフィーチャ レイヤーを介してフィーチャ レコードを更新するために使用されます。 この出力では、イベント レコードの関連ジオイベント定義に TRACK_ID とタグ付けされた属性フィールドが必要です。正しいフィーチャ レコードを正常に識別し、更新するためには、このタグ付きフィールドから取得した値が、既存のフィーチャ レコードで指定された [一意のフィーチャ識別子フィールド] の値と完全に一致する必要があります。 イベント レコードに TRACK_ID とタグ付けされているフィールドがないか、タグ付けされたフィールドの値と既存のフィーチャ レコードを一致させられない場合は、新しいフィーチャ レコードがデフォルトで作成されます。 新しいフィーチャ レコードを作成するデフォルトの処理を無効にするには、[更新のみ] プロパティを [はい] に設定します。 この出力コネクタは、フィーチャ レイヤーのクエリを使用し、フィーチャ サービスを通じてフィーチャ レコードを更新します。 フィーチャ サービスは ArcGIS Server サイトに公開したもの、ArcGIS Enterprise ポータルでホストされているもの、または ArcGIS Online 組織でホストしているものを使用できます。

使用上の注意

  • この出力コネクタを使用し、フィーチャ サービスのフィーチャ レコードを更新します。
  • フィーチャ サービスで [作成][更新] 操作の両方が有効になっている必要があります。
  • この出力コネクタは、JSON アウトバウンド アダプターとフィーチャ サービス アウトバウンド トランスポートを組み合わせます。
  • この出力コネクタにルーティングされたイベント レコードは、アダプターによってフィーチャ JSON として再書式設定されます。
  • このトランスポートは、書式設定された JSON を REST リクエストに組み込み、これをフィーチャ サービスに送信します。
  • この出力コネクタのトラブルシューティング方法については、Esri Community ブログ記事「Debugging the Add a Feature / Update a Feature Output Connectors」をご参照ください。
  • この出力コネクタでは、処理済みイベント レコードと既存のフィーチャ レコードとの間に 1 対 1 の関係が存在することを想定しています。 複数のフィーチャ レコードが存在し、その [一意のフィーチャ識別子フィールド] 値が処理済みイベント レコードでタグ付けされた TRACK_ID フィールドの値と一致する場合は、フィーチャ レコードが一貫して更新されていないか、不正に更新されたか、その両方である可能性があります。
  • [ArcGIS Server の登録] は新しい出力の設定時に使用できる機能で、スタンドアロンの ArcGIS ServerArcGIS Enterprise ホスティング サーバー、または ArcGIS Online 組織が使用しているホスティング サーバーへの接続を登録することができます。 この出力コネクタが使用するサービス フォルダー、フィーチャ サービス、フィーチャ レイヤーを選択するには、サーバー接続を ArcGIS GeoEvent Server に登録する必要があります。
  • [フィーチャ サービスの公開] は新しい出力を設定するときに使用できる機能で、GeoEvent Manager からフィーチャ サービスを直接公開することができます。 この機能を使用するには既存のジオイベント定義が必要です。この定義のスキーマは、フィーチャ サービスのフィーチャ レイヤーで使用したいフィールドを反映しています。 エンタープライズ ジオデータベースによって課される制約事項 (予約語、属性フィールドの大文字化など) は、新規フィーチャ サービスを公開する際に、使用するジオイベント定義に反映する必要があります。 当然、公開するフィーチャ サービスは、フィーチャ レコードを含まない、空のフィーチャ サービスです。GeoEvent Manager を使用し、処理中のリアルタイム イベント レコードのデータを使ってフィーチャ レコードの追加や更新を行います。 新しいフィーチャ サービスの公開先サーバーは ArcGIS Enterprise ホスティング サーバーか、管理されたジオデータベースを含むスタンドアロン ArcGIS Server のどちらかである必要があります。 GeoEvent Manager を使用して、新しいホスト フィーチャ サービスを ArcGIS Online 組織に公開することはできません。
  • ジオデータベースのフィーチャ レコードの追加や更新を行うよう出力を設定する際は、[フラット JSON の生成] のデフォルト値を変更してはなりません。 このプロパティを無効にすると、出力はフィーチャ サービスに送信される属性値の階層構造を保持します。フィーチャ サービスはこれを拒否し、フィーチャ レコードは更新されません。
  • [古いフィーチャを削除] プロパティは、出力においてフィーチャ サービスのフィーチャ レイヤーを対象に定期的にクエリを実行し、指定時間 (分単位) を経過したフィーチャを確認して、特定されたフィーチャ レコードを削除する場合に有効にします。 あるいは、ジオデータベースから信頼性の高いデータを削除するのではなく、クライアント側でフィルタを使用し、Web マップの表示から古いフィーチャ レコードの削除や非表示を行うこともご検討ください。 [古いフィーチャを削除] を選択した場合、Last UpdatedLast Edited など定期的に更新される日付/時間フィールドを指定します。 Date Created などの履歴フィールドや固定時間フィールドを使用する場合、必ずしも削除対象とは限らないフィーチャ レコードを誤って特定し、削除してしまうこともあります。

パラメーター

パラメーター説明

名前

GeoEvent Manager で参照用として使用される出力コネクタの記述名。

ArcGIS Server 接続

ArcGIS GeoEvent Server にデータ ストアとして登録された ArcGIS ServerArcGIS Enterprise、または ArcGIS Online 接続。 登録済みのサーバー接続は、マップ サービス、フィーチャ サービス、フィーチャ レイヤーとそれらに含まれるレイヤー プロパティに関する情報をキャッシュします。

フォルダー

ArcGIS Server サービス フォルダー、ArcGIS Enterprise ポータル、または ArcGIS Online コンテンツ アイテム フォルダー。

サービス名

新しいフィーチャ レコードを追加する、または既存のフィーチャ レコードを更新するフィーチャ サービス名。フィーチャ レコードの追加や更新には、同一の一意のトラック ID を共有する、処理済みイベント データの値が使用されます。

レイヤー

新しいフィーチャ レコードを追加する、または既存のフィーチャ レコードを更新するフィーチャ サービス内のフィーチャ レイヤー名。フィーチャ レコードの追加や更新には、同一の一意のトラック ID を共有する、処理済みイベント データの値が使用されます。

一意のフィーチャ識別子フィールド

フィーチャ サービスのフィーチャ レイヤーで、センサーやトラッキング可能なアセットを一意に識別するフィールド。 更新するフィーチャ レコードを特定するために検索を行う場合、この出力コネクタは [一意のフィーチャ識別子フィールド] の値が、TRACK_ID タグが付けられた処理済みイベント レコードのフィールドから取得された値と完全に一致するかどうかを確認します。

イベント レコードに TRACK_ID とタグ付けされたフィールドがない、またはタグ付けされたフィールドの値が既存のフィーチャ レコードの [一意のフィーチャ識別子フィールド] に存在しない場合、デフォルトでは新しいフィーチャ レコードが作成され、特定の TRACK_ID を持つ後続のイベント レコードを出力で受信したときに、作成されたフィーチャが更新されます。

この出力コネクタでは、処理済みイベント レコードと既存のフィーチャ レコードとの間に 1 対 1 の関係が存在することを想定しています。 複数のフィーチャ レコードが存在し、その [一意のフィーチャ識別子フィールド] 値が処理済みイベント レコードでタグ付けされた TRACK_ID フィールドの値と一致する場合は、フィーチャ レコードが一貫して更新されないか、不正に更新される可能性があります。

更新間隔 (秒)

出力が、処理済みイベント レコードをキャッシュからフラッシュし、指定したフィーチャ サービスに新しいフィーチャ レコードの作成をリクエストする間隔 (秒) を指定します。 このプロパティのデフォルトは [1] 秒です。つまり、処理済みイベント レコードのデータは毎秒キャッシュされ、フラッシュされます。これにより新しいフィーチャ レコードが作成され、イベント データが保存されます。 更新間隔を増やしてデータベース サーバーに対するトランザクション リクエストの回数を制限すると、イベント データが出力のキャッシュに保持される期間を延長することができます。

フラット JSON の生成

処理済みイベント レコードの階層を、出力のアダプターでどのように処理するかを指定します。 ArcGIS Server フィーチャ サービスは、配列やグループに整理されたデータ値や、ネストされた値をサポートしません。 デフォルトでは、このようなデータ構造を 1 つの文字列値にキャストします。その属性名はグループ要素または配列要素名から取得します。これによって、フラットな JSON 文字列値を効果的に生成します。

  • [はい] – 階層の値は平坦化され、下部構造のベース名を文字列属性フィールドの名前として使用し、単一のテキスト文字列として処理されます。
  • [いいえ] – 階層の値は保持されます。 その結果、処理済みイベント レコードはフィーチャサービスと互換しなくなります。 イベント レコードは破棄され、フィーチャ サービスのフィーチャ レコードとして追加されません。

注意:
[フィーチャの追加] 出力コネクタでは、階層の値を単純な文字列にキャストすることができますが、[フィールド マッパー プロセッサ] を使用してイベント レコードの構造を明示的に平坦化してから、イベント レコードを出力にルーティングすることを推奨します。 タイプが string、double、date、geometry など、分離した不連続の属性フィールドに対して明示的に値をマッピングすることで、データの整合性と、フィーチャ サービスが属性フィールド値に課す制限事項への準拠が可能になります。

フォーマット済 JSON

Feature JSON 文字列を、空白インデントと改行書式で整形するかどうかを指定します。 この JSON は PJSON と呼ばれることもあり、通常は、テキスト エディターでコンテンツを確認するシステム ファイルに書き込む場合にのみ適しています。 デフォルトは [いいえ] です。

  • [はい] – フィーチャ JSON は書式設定 (整形) されます。
  • [いいえ] – フィーチャ JSON は書式設定されません。

古いフィーチャを削除

出力コネクタが、フィーチャ サービスのフィーチャ レイヤーを対象に定期的にクエリを実行し、指定時間 (分単位) を経過したフィーチャを確認して、特定されたフィーチャ レコードを削除するかどうかを指定します。 デフォルトは [いいえ] です。

  • [はい] – 一定時間の経過後、古いフィーチャはフィーチャ サービスから定期的に削除されます。
  • [いいえ] – 古いフィーチャは定期的に削除されません。 フィーチャ レコードはフィーチャ サービスに蓄積されます。

フィーチャの最大期間 (分)

(条件)

フィーチャ レコードが古いものとして判断されるまでの最大期間 (分単位) を指定します。 デフォルトは [1440] 分です。つまり、出力で [古いフィーチャを削除] が構成されている場合、24 時間以上経過したフィーチャ レコードはフィーチャ サービスから削除されます。

注意:
出力が処理済みのフィーチャ レコードを受信しなくても、古いフィーチャ レコードは削除されます。 古いレコードの識別と削除を行う定期的なクエリが、新規フィーチャ レコードの追加や作成と並行して実行されます。

このプロパティは、[古いフィーチャを削除][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

古いフィーチャを削除する頻度 (秒)

(条件)

古いフィーチャ レコードの検索を実行する頻度 (秒) を指定します。 デフォルトは [20] 秒です。つまり、日付/時間の値により、古くなったと判断されるフィーチャ レコードを毎分 3 回検索して確認します。

このプロパティは、[古いフィーチャを削除][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

フィーチャクラス内の時間フィールド

(条件)

日付/時間の値を使用し、各フィーチャ レコードの期間を判断するために使用されるフィーチャ レイヤー属性フィールド。 このプロパティにはデフォルト値はありません。 実際には古くなっていないフィーチャ レコードが誤って削除されないよう、選択する属性フィールドの値は頻繁に更新する必要があります。

このプロパティは、[古いフィーチャを削除][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

トランザクションあたりの最大フィーチャ

フィーチャ レコードを更新するために、1 件のフィーチャ サービス リクエストに含められる最大レコード数。 最大レコード数として指定されている以上のレコードが出力キャッシュに含まれる場合、出力キャッシュが空になるまで複数のリクエストが作成されます。 デフォルトは [500] です。

各イベント レコードのサイズや複雑さと、毎秒処理されるイベント レコード数のバランスをとることをお勧めします。 イベント レコードが非常に大きく、多くの属性フィールドを持つ、あるいはジオメトリ オブジェクトが大きく複雑である場合は、フィーチャ サービスの処理能力を超えたリクエストを送信しないよう、この値を小さくします。 ただし、毎秒処理されるイベント レコードの速度と量によっては、この値が低すぎると、トランザクション リクエストが膨大な数に及ぶことがあります。

Update のみ

イベント レコードに TRACK_ID とタグ付けされたフィールドがない、またはタグ付けされたフィールドの値が既存のフィーチャ レコードに一致しない場合に、出力コネクタが新しいフィーチャ レコードを作成するかどうかを指定します。 デフォルトは [いいえ] です。

  • [はい] - [一意のフィーチャ識別子フィールド] 値が、処理済みイベント レコードの TRACK_ID タグ付きフィールドから取得した値と完全に一致するフィーチャ レコードが必要です。 一致するフィーチャ レコードは更新されますが、新しいフィーチャ レコードは作成されません。 一致するフィーチャ レコードのないイベント レコードは破棄されます。
  • [いいえ] - 処理済みイベント レコードに一致するフィーチャ レコードは更新されます。 一致するフィーチャ レコードが識別されない場合は、新しいフィーチャ レコードが作成されます。

注意:

[更新のみ][いいえ] に設定されている場合、フィーチャ サービスの [作成] および [更新] 操作の両方を有効にする必要があります。[更新のみ][はい] に設定されている場合、新しいフィーチャ レコードは作成されないので、フィーチャ サービスの更新操作だけを有効にします。


このトピックの内容
  1. 使用上の注意
  2. パラメーター