Skip To Content

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

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

使用上の注意

ArcGIS Server をポーリング (フィーチャ サービス) 入力コネクタを使用する際には、以下の点に注意してください。

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

パラメーター

ArcGIS Server をポーリング (フィーチャ サービス) 入力コネクタのパラメーターを次に示します。

パラメーター説明

Name

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

登録済みのサーバー接続

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

レイヤー タイプへの参照

レイヤーを参照するときのオプションを定義します。

  • [レイヤーの参照] - 登録されているデータ ストアのフォルダーを参照することでサービス レイヤーを参照します。
  • [サービス レイヤー URL] - 共有されているサービス レイヤーの URL を指定することでサービス レイヤーを参照します。

フォルダー

(条件)

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

このパラメーターは、[レイヤー タイプへの参照] パラメーターが [レイヤーの参照] に設定されている場合に表示され、[サービス レイヤー URL] に設定されている場合は非表示になります。

サービス名

(条件)

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

このパラメーターは、[レイヤー タイプへの参照] パラメーターが [レイヤーの参照] に設定されている場合に表示され、[サービス レイヤー URL] に設定されている場合は非表示になります。

レイヤー

(条件)

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

このパラメーターは、[レイヤー タイプへの参照] パラメーターが [レイヤーの参照] に設定されている場合に表示され、[サービス レイヤー URL] に設定されている場合は非表示になります。

サービス レイヤー URL

(条件)

サービス レイヤーへの URL。

注意:
URL によってサービス レイヤーを参照する場合、データ ストア接続が確立されていなければなりません。 サービス レイヤーは、パブリックにアクセス可能であるか、データ ストア接続を確立する認証情報を持つユーザーと共有されている必要があります。

このパラメーターは、[レイヤー タイプへの参照] パラメーターが [サービス レイヤー URL] に設定されている場合に表示され、[レイヤーの参照] に設定されている場合は非表示になります。

ジオイベント定義の作成

インバウンド イベント データに新しいジオイベント定義を使用するか、既存のジオイベント定義を使用するかを指定します。 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. パラメーター