フィーチャ キャッシュの管理

Web フィーチャ レイヤー」では、フィーチャ キャッシュを使用して、フィーチャを一時フォルダーに保存することで、パフォーマンスと一般的なタスクを改善します。 キャッシュは自動的に管理され、フィーチャがキャッシュされると、データを取得するのに必要なクエリの数が減り、描画時間が改善されます。 これは、大規模または複雑なデータセットを扱う場合、特定のマップ範囲で作業する場合、多数のユーザーが同じサービスを使用する場合などに有効です。 また、サービス リクエスト数が減るため、サーバーへの負担も軽減されます。

フィーチャ キャッシュの条件

デフォルトでは、フィーチャ キャッシュはアプリケーションによって自動的に作成され、これが推奨設定です。 キャッシュは、マップの描画が終了し、次の 5 つの条件が満たされるたびに作成されます。

  • レイヤーが [コンテンツ] ウィンドウに表示されている
  • レイヤーが「表示縮尺範囲」に基づいて表示されている
  • 描画されたフィーチャの総数がサービス レイヤーの行数の閾値の 5 倍よりも少ない
  • レイヤー プロパティ ダイアログ ボックスのキャッシュ オプションが [セッション終了時にキャッシュを削除] に設定されている
  • フィルターが存在する場合に、表示範囲内のフィーチャの推定数が、行数の閾値の 5 倍未満である

注意:

フィルターには、「表示フィルター定義クエリ」、「サブタイプ グループ レイヤー」、「シンボル クラス」などがあります。

行数の閾値、推定行数、サブタイプ グループ レイヤーの追加詳細もキャッシュを自動的に作成するかどうかの決定に使用されます。

行数の閾値

行数の閾値は、フィーチャ キャッシュをいつ作成するかを決定するために使用されます。 行数の閾値は、2000 またはフィーチャ サービス レイヤー「maxRecordCount」のいずれか低い方に設定されます。

推定行数

推定行数がサポートされ、レイヤーにフィルターがある場合、ArcGIS Pro は推定行数と、前述の 5 つの条件を使用して、いつフィーチャ キャッシュを作成するかを決定します。 レイヤーにフィルターがない場合、推定行数は使用されず、ArcGIS Pro は前述の 5 つの条件を使用して、いつフィーチャ キャッシュを作成するかを決定します。

フィーチャ サービス レイヤー全体の推定行数が行数の閾値の 5 倍を下回る場合は、フィーチャ サービス レイヤー全体のフィーチャ キャッシュが作成されます。

推定行数をサポートしないフィーチャ サービス レイヤーでは、レイヤーにフィルターがあるとフィーチャ キャッシュは作成されません。

注意:

フィーチャ サービスが推定行数をサポートしているかどうかを判断するには、レイヤーの JSON リソースで infoInEstimates パラメーターを調べます。 この配列内に「count」が表示される場合、ArcGIS Pro は推定行数を取得します。

サブタイプ グループ レイヤー

サブタイプ グループ レイヤーは、フィルターと見なされる場合と見なされない場合があります。

サブタイプ グループ レイヤーは、その内の少なくとも 1 つのサブレイヤーが表示可能な場合にフィルターと見なされます。 この場合では、推定行数がサポートされている場合、推定行数を使用してフィーチャ キャッシュが作成されます。

すべてのサブタイプ グループ レイヤーが表示可能な場合、サブタイプ グループ レイヤーはフィルターと見なされません。 この場合では、表示されるすべてのサブタイプ グループ レイヤーの描画件数の合計を使用して、フィーチャ キャッシュを作成するかどうかを決定します。

表示可能なサブタイプ グループ レイヤーがない場合、サブタイプ グループ レイヤーはフィルターと見なされません。 この場合では、サブタイプ グループ レイヤーは表示不可と見なされ、それらのレイヤーのフィーチャ キャッシュは作成されません。

アプリケーションがレイヤーのフィーチャ キャッシュを作成しないと判断した (上記の 5 つの条件が満たされていない) 場合では、キャッシュを手動で管理することで、キャッシュを活用した優れたパフォーマンスを実現できます。

[フィーチャ キャッシュ] グループの [マップ] タブにあるキャッシュを管理するコントロールにアクセスします。 これらのコントロールを使用して、キャッシュの作成、キャッシュの消去、現在のキャッシュ作成のキャンセル、またはキャッシュの自動作成の設定を行います。 これらのコントロールは、プロジェクト内の各マップに適用されます。 [フィーチャ キャッシュ] グループが有効になっていない場合、アプリケーションは上記のようにフィーチャを自動的にキャッシュします。

詳細については、「キャッシュの詳細」をご参照ください。

フィーチャ キャッシュ グループの表示

デフォルトでは、[フィーチャ キャッシュ] グループはリボン上で非表示になっています。 このグループのコントロールにアクセスするには、次の手順に従います。

  1. [プロジェクト] タブをクリックしてから [オプション] をクリックします。
  2. [オプション] ダイアログ ボックスの [アプリケーション] 見出しの下で、[マップおよびシーン] タブをクリックします。
  3. [フィーチャ キャッシュ] を展開し、[マップ タブからフィーチャ キャッシュを管理] をオンにします。
  4. [OK] をクリックして設定を保存し、ダイアログ ボックスを閉じます。

自動キャッシュ

[フィーチャ キャッシュ] グループが有効になっている場合、新しい各マップで [自動キャッシュ] がオンになります。 キャッシュを手動で管理するには、このオプションをオフにします。 この設定は、プロジェクト内の各マップで独立して変更できます。 これにより、ワークフローに応じて [自動キャッシュ] 設定を管理することができます。 次に説明するように、レイヤーが複数のマップで同じデータ ソースを共有している場合、[塗りつぶし] フィーチャ キャッシュの有効化 および [空] フィーチャ キャッシュの削除[自動キャッシュ] に影響を与える可能性があります。

注意:

[塗りつぶし] フィーチャ キャッシュの有効化 により開始されたキャッシュ作成が進行中の場合、現在のキャッシュ作成が完了するまで、プロジェクト全体で自動キャッシュが一時停止します。

現在のマップのフィーチャ キャッシュの作成

フィーチャ キャッシュは、使用前に作成する必要があります。

[フィーチャ キャッシュ] グループの [マップ] タブで、[塗りつぶし] フィーチャ キャッシュの有効化 をクリックして、マップに表示されているすべてのレイヤーのキャッシュを作成します。

注意:

[マップ] タブに [フィーチャ キャッシュ] グループが表示されていない場合は、前のセクションの手順に従って、これらのコントロールにアクセスします。

キャッシュは、マップの現在の範囲に基づいて作成されます。 キャッシュを作成するレイヤーを条件を使用して決定する [自動キャッシュ] とは異なり、[塗りつぶし] フィーチャ キャッシュの有効化 を使用すると、[コンテンツ] ウィンドウに表示されるすべてのレイヤーがキャッシュされます。 キャッシュ作成プロセスは、1 つのプロジェクトにつき一度に 1 つだけ発生します。 キャッシュの作成中は、作成が完了するかキャンセルされるまで、プロジェクト内のすべてのマップで [塗りつぶし] ボタン フィーチャ キャッシュの有効化 を使用できません。 キャッシュの作成中は、進行中の作成に影響を与えることなく、マップを画面移動およびズームしたり、他のマップを表示したりすることができます。 複数の範囲でフィーチャ キャッシュを作成できます。 作成が完了するまで、プロジェクト全体で自動キャッシュが一時停止します。

レイヤーのデータ ソースが同じプロジェクト内の複数のマップで共有されている場合、キャッシュされたフィーチャはマップ間で共有されます。

キャッシュの作成が開始された場合、作成が完了した場合、またはエラーが発生した場合には、通知が表示されます。

注意:

  • 広い地域や多くのフィーチャを含む地域のキャッシュの構築には時間がかかる場合があります。 キャッシュの作成をキャンセルするには、[キャンセル] フィーチャ キャッシュの無効化 をクリックします。
  • マップに表示されている Web フィーチャ レイヤーが存在しない場合、またはレイヤーのプロパティ内でキャッシュしないように設定されている場合、作成はサポートされず、通知が表示されます。

注意:

[塗りつぶし] フィーチャ キャッシュの有効化[自動キャッシュ] と組み合わせて使用している場合、[塗りつぶし] ボタン フィーチャ キャッシュの有効化 を押すと、進行中のキャッシュの自動作成がキャンセルされます。 このワークフローでは、マップの描画が完了してから 15 秒待機し、[塗りつぶし] フィーチャ キャッシュの有効化 を使用する前に、自動作成手順を完了させることをお勧めします。

現在のマップのフィーチャ キャッシュを空にする

フィーチャ キャッシュの消去は、元のレイヤーが他のソースから編集された場合に、定期的に実行できます。

[フィーチャ キャッシュ] グループの [マップ] タブで、[空] フィーチャ キャッシュの削除 をクリックすると、現在のマップのすべてのレイヤーのフィーチャ キャッシュが空になります。

注意:

[マップ] タブに [フィーチャ キャッシュ] グループが表示されていない場合は、このトピックの前のセクションの手順に従って、これらのコントロールにアクセスします。

[空] ボタン フィーチャ キャッシュの削除 は常に有効で、非アクティブにはなりません。 保存されていない編集が存在する場合、空にする操作は行われません。 フィーチャ キャッシュを空にする前に、編集を保存するか破棄する必要があります。

レイヤーのデータ ソースが同じプロジェクト内の複数のマップで共有されている場合、他のマップにあるこれらのレイヤーのキャッシュも、空にする操作の際に影響を受けます。

キャッシュが空になった場合、エラーが発生した場合、または保存されていない編集が存在する場合には、通知が表示されます。

フィーチャ キャッシュの作成をキャンセル

[塗りつぶし] ボタン フィーチャ キャッシュの有効化 をクリックした後、作成に予想以上の時間がかかっている場合や、誤ってクリックしてしまった場合は、処理をキャンセルすることができます。 このボタンは、キャッシュの作成中にのみ使用できます。

[フィーチャ キャッシュ] グループの [マップ] タブで、[キャンセル] フィーチャ キャッシュの無効化 をクリックすると、進行中の作成リクエストがキャンセルされます。

注意:

[マップ] タブに [フィーチャ キャッシュ] グループが表示されていない場合は、このトピックの前のセクションの手順に従って、これらのコントロールにアクセスします。

キャッシュ作成がキャンセルされると、通知が表示されます。

関連トピック