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

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

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

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

注意:

フィルターには、表示フィルターフィルター設定シンボル クラスなどがあります。

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

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

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

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

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

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

自動キャッシュ

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

注意:

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

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

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

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

注意:

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

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

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

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

注意:

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

注意:

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

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

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

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

注意:

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

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

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

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

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

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

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

注意:

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

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

関連トピック