Skip To Content

ArcGIS Server をポーリング (フィーチャ サービス)

[ArcGIS Server をポーリング (フィーチャ サービス)] 入力コネクタは、ArcGIS Enterprise または ArcGIS Online マップ/フィーチャ サービス レイヤーでフィーチャ レコードをポーリングし、イベント レコードとして処理するために使用されます。

使用上の注意

  • この入力コネクタは、マップ サービスまたはフィーチャ サービス レイヤーからフィーチャを取得するために使用されます。
  • この入力コネクタは、フィーチャ JSON インバウンド アダプターとフィーチャ サービス インバウンド トランスポートを組み合わせます。 フィーチャ JSON インバウンド アダプターは、フィーチャ JSON を明示的に解釈します。 詳細については、「ジオメトリ オブジェクト」をご参照ください。
  • ArcGIS EnterpriseArcGIS Online、および ArcGIS Server (スタンドアロン) マップおよびフィーチャ サービスがサポートされています。
  • その他すべての入力コネクタと同様、ジオイベント定義が必要です。 ジオイベント定義は、受信中のイベント レコードのスキーマを識別します。 詳細については、「ジオイベント定義の管理」をご参照ください。
  • ジオイベント定義に含まれないイベント属性フィールドのデータ値は無視されます。
  • この入力コネクタは、指定間隔で特定のマップ レイヤーとフィーチャ レイヤーを定期的にポーリングします。 他の Web サーバーや Web サービスと同様、頻繁すぎるポーリング間隔 (毎秒など) は推奨されません。
  • マップ サービスとフィーチャ サービスのポーリングによって返されるフィーチャ レコード セットを識別するには、単純な WHERE 句が使用されます。 デフォルトでは、ポーリングされたフィーチャ レコード セットのすべてのレコード (WHERE 1=1 など) を含めます。 デフォルトの WHERE 句に手を加え、特定の属性値や論理条件を含めることができます。
  • 指定されたジオメトリや空間リレーションシップ (ポリゴンとの交差など) を使用する空間フィルターをサポートしています。
  • ポーリングされているマップ レイヤーとフィーチャ レイヤーから、ポーリングされたレコードを削除することができます。
  • 新たに追加または更新されたフィーチャ レコードをポーリングするために、[増分更新の取得] という独自の機能をサポートします。この機能では、フィーチャ レコードから取得するか、ポーリング間隔から派生し、入力コネクタによってキャッシュされる [ObjectID] または [Timestamp] 値を使用します。
  • キャッシュした値は WHERE 句に組み込まれ、キャッシュした値よりも大きいレコード、または現在を基準にしたポーリング間隔内のレコードを検索します。
  • 増分更新を識別するには、[ObjectID][タイムスタンプ][現在までのタイムスタンプ] という 3 つの方法を使用できます。
  • 詳細については、Esri Community ブログ記事「Polling Feature Services for Incremental Updates」をご参照ください。

パラメーター

パラメーター説明

Name

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

ArcGIS Server 接続

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

フォルダー

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

サービス名

フィーチャ レコードのポーリング元となるマップ/フィーチャ サービスの名前。

レイヤー

フィーチャ レコードにアクセスする際に使用されるマップ/フィーチャ サービスのフィーチャ レイヤー。

ジオイベント定義の作成

インバウンド イベント データに新しいジオイベント定義を使用するか、既存のジオイベント定義を使用するかを指定します。 GeoEvent Server がインバウンド データ属性フィールドおよびデータ タイプを理解するには、ジオイベント定義が必要です。

  • [はい] – 最初に受信したイベント レコードのスキーマに基づき、新しいジオイベント定義が作成されます。
  • [いいえ] – 新しいジオイベント定義は作成されません。 インバウンド イベント データのスキーマに一致する、既存のジオイベント定義が選択されます。

ジオイベント定義名 (新規)

(条件)

新しいジオイベント定義に与えられる名前。 指定した名前を持つジオイベント定義がすでに存在する場合、既存のジオイベント定義が使用されます。 最初に受信したデータ レコードを使用し、後続のデータ レコードで予期されるスキーマを決定します。新しいジオイベント定義は、最初のデータ レコードのスキーマに基づいて作成されます。

このプロパティは、[ジオイベント定義の作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

ジオイベント定義名 (既存)

(条件)

受信したデータを適合して、GeoEvent Service によって処理されるイベント データを作成する際に使用する、既存のジオイベント定義の名前。

このプロパティは、[ジオイベント定義の作成][いいえ] に設定されている場合に表示され、[はい] に設定されている場合は非表示になります。

更新間隔

マップ/フィーチャ サービスのフィーチャ レイヤーに対し、フィーチャ レコードのポーリングを行う間隔 (秒単位) を指定します。 デフォルトは [10] です (つまり、10 秒ごとに 1 回のポール リクエストが送信されます)。

増分更新の取得

キャッシュされた [ObjectID] または [Timestamp] 値を使用し、新しいフィーチャ レコードまたは更新されたフィーチャ レコードだけをリクエストするかどうかを指定します。 デフォルト値は [いいえ] です。

  • [はい] - GeoEvent Server は、キャッシュされた [ObjectID] または [タイムスタンプ] のいずれかを使用し、増分更新をポーリングします。
  • [いいえ] - GeoEvent Server は、キャッシュされた [ObjectID] または [タイムスタンプ] をフィーチャ レコード ポールに組み込みません。
注意:

入力コネクタを削除して再作成する、ArcGIS GeoEvent Server サービスを停止または再起動する、またはサーバー コンピューターを再起動する場合、キャッシュされたキー値は失われます。 使用可能なフィーチャ レコードがポーリングされ、マップ サービスとフィーチャ サービスから返されたフィーチャ レコード セットが検証されると、新しいキー値がキャッシュされます。

増分更新の識別方法

(条件)

GeoEvent Server が増分更新をポーリングするときに、新規フィーチャ レコードや更新されたフィーチャ レコードを識別するために使用する属性タイプを指定します。 以下のオプションを使用できます。

  • [ObjectID]GeoEvent Server は、マップ/フィーチャ サービスのポーリングから返されたフィーチャ レコード セットの最大のオブジェクト ID をキャッシュします。 Object ID が、最後のポーリングからキャッシュされた値よりも大きいフィーチャだけが、次回のポーリングに含まれます。
  • [タイムスタンプ]GeoEvent Server は、マップ/フィーチャ サービスのポーリングから返されたフィーチャ レコード セットの最大のタイムスタンプをキャッシュします。 タイムスタンプが、最後のポーリングからキャッシュされた値よりも大きいフィーチャだけが、次回のポーリングに含まれます。
  • [現在までのタイムスタンプ] - このオプションは編集情報の記録が有効になっている場合の使用を目的としており、ポーリングされたフィーチャ レコード セットの最大のタイムスタンプではなく最後のポーリング時間を使用します。 たとえば、ポーリングが 300 秒に設定されている場合、クエリは指定されたタイムスタンプが現在を基準にしたポーリング間隔以内であるフィーチャ レコードをリクエストします。

    たとえば、ポーリング間隔が last_edited_date >= timestamp '2021-09-23 00:38:04.075'last_edited_date < timestamp '2021-09-23 00:43:04.583' の場合、00:38:04 が最後のポーリング、00:43:04 が 5 分 (300 秒) 後です。 ポーリング間隔以内に編集されたフィーチャ レコードがクエリによって返されます。

このプロパティは、[増分更新の取得][はい] に設定されている場合に表示され、[増分更新の取得][いいえ] に設定されている場合は非表示になります。

増分更新を識別する時間フィールド

(条件)

ジオイベント定義のタイムスタンプ フィールド。この値を使用し、タイムスタンプベースの増分更新を識別します。 データ タイプが Date である属性のみを選択できます。

このプロパティは、[増分更新の識別方法][タイムスタンプ] または [現在までのタイムスタンプ] に設定されている場合に表示されます。

クエリ定義

マップ/フィーチャ サービスのフィーチャ レイヤーをポーリングする際に返されるフィーチャ レコードを制限するための、論理表現を指定します。 この表現は、Structured Query Language (SQL) の WHERE 句の述部として使用されます。 例を以下に示します。

  • 1=1」 – デフォルト。WHERE 1=1 句を作成し、使用可能なすべてのフィーチャ レコードをポーリングするために使用されます。
  • track_id LIKE '%AJP'」 – フィーチャ レコードと、「TRACK_ID」文字列の任意の場所にある文字列リテラル「AJP」を一致させます。
  • reported_dt > timestamp '2019-04-05 22:30:00'」 – 指定したタイムスタンプよりも大きい日付/時間属性値を持つフィーチャ レコードを一致させます。

ジオメトリ フィルターの使用

ジオメトリ オブジェクトを空間フィルターとして使用し、マップ/フィーチャ サービスのフィーチャ レイヤーにポーリングするときに返されるフィーチャ レコードを制限するかどうかを指定します。 ジオメトリ フィルターを指定した場合、指定したクエリ定義と組み合わせ、フィーチャ レイヤー クエリから返されるフィーチャ レコードをさらに絞り込むことができます。 詳細については、「ジオメトリ オブジェクト」をご参照ください。

  • [はい] – 空間フィルターは、フィーチャ レイヤーのフィーチャに対してクエリを実行するために使用されます。
  • [いいえ] – 空間フィルターは、フィーチャ レイヤーのフィーチャに対してクエリを実行するために使用されません。

フィルター ジオメトリ

(条件)

フィーチャ JSON を使用して表現され、空間フィルターとして使用されるジオメトリ オブジェクト。 正確なジオメトリ オブジェクト構文の詳細については、「フィーチャとジオメトリ」をご参照ください。

このプロパティは、[ジオメトリ フィルターの使用][はい] に設定されている場合に表示されます。

ジオメトリ タイプ

(条件)

ジオメトリ フィルター用のフィーチャ JSON によって記述されるジオメトリのタイプを指定します。 サポートされるジオメトリ タイプは、エンベロープ、ポイント、ポリライン、ポリゴン、およびマルチポイントです。

このプロパティは、[ジオメトリ フィルターの使用][はい] に設定されている場合に表示されます。

空間参照

(条件)

ジオメトリ フィルターの空間参照の Well-Known ID (WKID) を指定します。

このプロパティは、[ジオメトリ フィルターの使用][はい] に設定されている場合に表示されます。

空間リレーションシップ

(条件)

マップ/フィーチャ サービスのフィーチャ レイヤーからポーリングされたフィーチャ レコードを評価し、ジオメトリ フィルターの条件を満たしているかどうかを確認するために使用する空間参照を指定します。

このプロパティは、[ジオメトリ フィルターの使用][はい] に設定されている場合に表示されます。

ポーリングされたフィーチャを削除

フィーチャ サービスから返されたレコード セットのフィーチャ レコードを、フィーチャ サービスのフィーチャ レイヤーから削除するかどうかを指定します。 デフォルトは [いいえ] です。


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