Skip To Content

マップ キャッシュの更新

このトピックの内容

マップ キャッシュを作成すると、その時点におけるマップのスナップショット (ピクチャ) が作成されます。データを編集または更新する際には、他のユーザーに変更内容を表示する前に、次の作業が必要になります。

  • キャッシュを更新する必要があります。
  • キャッシュを以前に使用しているユーザーは、それぞれのコンピューターに格納されているかもしれない古くなったタイルを削除する必要があります。これをキャッシュのクリアといいます。

キャッシュの更新

キャッシュを更新するには、キャッシュ内の一部またはすべてのタイルの再作成が必要になります。キャッシュを更新するには、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールを使用します。ツールのダイアログ ボックスで、[更新方法] パラメーターを [Recreate All Tiles] に設定します。

マップの特定の長方形領域に含まれているタイルを更新したい場合は、サービスの全範囲に設定されているデフォルトの [更新範囲] を変更することができます。

変更されているのは 1 つのデータセットまたは 1 つの地理領域内のフィーチャだけであることがわかっている場合は、[対象エリア] にフィーチャクラスまたは ArcMap で描画するグラフィックスへのパスを指定できます。このオプションにより、対象エリアをカバーするタイルだけが再作成されます。このオプションはポリゴン データを編集している場合に適しています。たとえば、アメリカ全土をカバーするキャッシュがあり、国立公園の境界線を編集した場合は、国立公園フィーチャクラスを対象エリアとして指定できます。これにより、国立公園内のタイルだけが再作成されます。

タイルの補填

部分的に作成されたキャッシュを完成させる場合、またはキャッシュの品質チェックを実行する場合は、[更新方法][空タイルを再構築 (Recreate Empty Tiles)] に設定して、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] を実行します。この設定は、キャッシュのフォルダーをチェックし、欠けているタイルを作成します。他の更新方法と同様に、空のタイルを作成するための境界として、長方形の範囲またはフィーチャクラスを設定できます。

次の図で [空タイルを再構築 (Recreate Empty Tiles)] を実行すると、青のアウトラインで囲まれたタイルがすべて作成されます。

[空タイルを再構築 (Recreate Empty Tiles)] オプションを使用したとき、どのタイルが再構築されるかを示す図

[空タイルを再構築 (Recreate Empty Tiles)] を実行すると、各タイルをチェックする必要があるため、時間がかかる場合があります。

タイルの削除

状況によっては、特定エリアのタイルを削除したり、さらにはキャッシュ全体を削除したいことがあります。

  • 特定エリアのタイルを削除するには、[更新方法][タイルを削除 (Delete Tiles)] に設定して、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールを実行します。このツールを実行する前に、[更新範囲] として、削除しようとしているエリアを設定してください。フィーチャクラスを指定して、キャッシュから削除するタイルを空間的に特定することもできます。
  • キャッシュ全体を削除するには、[マップ サービス キャッシュの削除 (Delete Map Server Cache)] ツールを実行し、キャッシュに関連付けられているすべてのタイルとフォルダーを削除します。このツールを実行する前に、CacheTools ジオプロセシング サービスのインスタンスの最大数が 3 以上に設定されていることを確認してください。
ヒント:

フォルダー構造とタイル スキーマを残してすべてのタイルを削除するには、[更新方法][タイルを削除 (Delete Tiles)] に設定して、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールを実行します。このツールを実行する前に、[更新範囲] がマップの全範囲に設定されていることを確認します。

キャッシュ内の縮尺の変更

キャッシュ タイル スキーマに縮尺を追加したり、キャッシュ タイル スキーマから縮尺を削除するには、[マップ サービス キャッシュの縮尺を管理 (Manage Map Server Cache Scales)] ツールを使用します。このツールでは、マップ サービスを選択して縮尺セットを再定義し、必要に応じて縮尺を追加または削除できます。このツールで縮尺レベルを指定するときは、必要な縮尺の完全なリストを含めるようにしてください。このリストに含まれない縮尺は削除されます。

更新ツールのスクリプト化

スクリプトを使用すれば、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] を定期的に自動実行できます。これは、データを定期的に更新している編集ユーザーがいる場合に役立ちます。キャッシュの更新を自動化する方法および実装例については、「ジオプロセシングによるキャッシュの作成と更新の自動化」をご参照ください。

クライアントのローカル キャッシュのクリア

キャッシュ マップ サービスを表示する際、ArcGIS クライアントはタイルをローカルに格納して、ユーザーがそのエリアを再び参照したときにそれらのタイルを再び取得せずに済むようにします。キャッシュを更新したとしても、以前にキャッシュを使用したことがあるユーザーが自身のコンピューターにタイルを格納しているかもしれません。それらのユーザーが変更内容を表示するには、ローカル キャッシュをクリアする必要があります。

キャッシュを頻繁に更新する場合は、クライアントがタイルをローカルにキャッシュするためのオプションを無効にすることを検討してください。そうすれば、キャッシュを使用する他のユーザーに、ローカル コンピューターに格納されている古いタイルではなく、最新のタイルが常に表示されるようになります。

クライアントのローカル キャッシュを無効にしていない場合は、キャッシュのユーザーがタイルをローカルにキャッシュするかどうかを選択できます。キャッシュのユーザーは、ローカル キャッシュを継続的に構築する、アプリケーション セッションごとに新しいローカル キャッシュを構築する、またはローカル キャッシュを構築しないことを選択できます。

更新へのサーバー リソースの割り当て

キャッシュを更新している間もサーバーはマップ タイルを継続的に描画しなければならないため、キャッシュの更新にはサーバー リソースが使用されます。運用サーバーが、クライアントのリクエストに対応する必要があるときに、マップ タイルの作成で限界に達することがないようにしてください。最も効率的な対応策は、ステージング サーバー上で更新を実行し、更新したタイルを運用サーバーへコピーする方法です。

ステージング サーバーを利用できない場合は、次善策として、トラフィックが少ない時間帯に更新を実行する方法があります。すべての CPU リソースが更新専用になることを避けたい場合は、キャッシュ ツール ジオプロセシング サービスが使用できるサービス インスタンスの数を、サービス レベル (サービス エディターで指定) またはジョブ レベル (ツールの実行時に指定) で引き下げることができます。最後のオプションでは、キャッシュ ツール ジオプロセシング サービスがマップ サービスとは別の独自のクラスターで稼働するように指定します。これにより、キャッシュ ツール が、マップ サービスが稼働しているコンピューター上のリソースを使用することがなくなります。

Windows タスク マネージャーまたは Windows パフォーマンス モニターなどのオペレーティング システムのパフォーマンス モニターリング ツールを使用して、キャッシュの更新時に実行中のサービス インスタンスが CPU を占有していないことを確認してください。

更新時のインスタンス数を少なくすると、更新処理にかかる時間が長くなります。ハードウェア リソースが十分でない場合は、キャッシュの更新速度を優先させるか、他の処理を優先させるかを判断する必要があります。