マップ キャッシュは、マップおよびイメージ サービスを高速化するために効果的な方法です。マップ キャッシュを作成する際、サーバーはマップ全体を複数の縮尺で描画し、マップ画像のコピーを格納します。サーバーは、マップのリクエストがあると、これらのイメージを返します。リクエストのたびにサーバーにマップを描画させるよりも、キャッシュされた画像を返すほうがはるかに高速です。キャッシュのもう 1 つの利点は、サーバーがマップ イメージのコピーを返すレスポンスがイメージの詳細度による影響をあまり受けないことです。
キャッシュ プロセスの仕組み
キャッシュは自動的に開始されるわけではありません。キャッシュを作成するには、まずマップを設計し、マップをサービスとして共有する必要があります。次に、キャッシュ プロパティを設定し、タイルの作成を開始します。すべてのタイルを一度に作成することも、ユーザーが最初にアクセスしてきたときにタイルの一部をオンデマンドで作成することもできます。
マップをキャッシュする際には複数の縮尺で描画し、ユーザーがマップを拡大表示または縮小表示できるようにします。キャッシュのプロパティを選択するときに、キャッシュに使用する縮尺を決定する必要があります。キャッシュ ツールを最初に試してみたいだけの場合は、コンピューターに縮尺を選択させることができます。ただし通常は、縮尺を事前に選択するほうが、複数の縮尺で適切に表示されるマップを設計しやすくなります。縮尺を記録し、ArcMap で製図を行うときにそれらを使用します。キャッシュを作成する際には、キャッシュ生成ツールに縮尺を入力します。
キャッシュを作成するときに理解しておく必要のある重要なプロパティは他にもあります。詳細については、「使用可能なマップ キャッシュ プロパティ」をご参照ください。
キャッシュはサーバー キャッシュ ディレクトリに格納されます。ArcGIS Server をインストールしたときに、サーバー キャッシュ ディレクトリがローカル フォルダーに作成されます。GIS サーバーをサイトに追加する場合は、サーバー キャッシュ ディレクトリを(Windows のファイル共有などのオペレーティング システムのオプションを使用して)共有し、サイト内の他のコンピューターからアクセスできるようにする必要があります。
キャッシュのために選択する縮尺と設定するプロパティがタイル スキーマです。キャッシュはそれぞれタイル スキーマ ファイルを持つため、新しいキャッシュを作成するときにタイル スキーマ ファイルをインポートすると、すべてのキャッシュが同じタイル サイズと縮尺を使用するようになります。これにより、キャッシュされたサービスが複数含まれている Web アプリケーションのパフォーマンスを向上させることができます。必要に応じて、ArcGIS Online、Google マップ、Bing Maps といった一般的なタイル スキーマを使用して、キャッシュをこれらのオンライン マッピング サービスで簡単にオーバーレイすることができます。
すべてのマップをキャッシュできるか
マップ キャッシュは、ある時点でのマップのスナップショットを表します。このため、キャッシュは頻繁に変化しないマップに使用するのが最も効果的です。これには、道路地図、衛星画像/航空写真、地形図などが含まれます。
データが変化する可能性が高い場合でも、キャッシュ ツールを使用して、キャッシュを定期的に更新することができます。また、これらの更新を自動的に行うようスケジュールすることもできます。以下の項目を検討すると、頻繁に変化するマップでもキャッシュできるかどうかを判断するのに役立ちます。
どれくらい新しいマップが必要か
マップにライブ データを表示する必要があり、時間の遅延を容認できない場合、キャッシュは適していません。ただし、わずかな遅延なら容認することができ、キャッシュを許容時間内に更新できる場合は、キャッシュを使用できます。
キャッシュの大きさとデータの変更範囲はどれくらいか
この 2 つの質問は相互に関係しています。キャッシュが大きければ大きいほど、その作成に時間がかかります。通常、大きなキャッシュを更新する場合、変更された部分を分離して、その部分だけを更新するのが現実的です。キャッシュが小さい場合は、キャッシュ全体を再構築してもそれほど時間はかかりません。
許容時間内での更新が変更に対応できない場合、そのマップはキャッシュに適していません。
上記の項目を検討した後、必要に応じてキャッシュを使用してください。おそらく、キャッシュの作成と更新に費やした時間と労力に見合うようなパフォーマンスの向上が得られるでしょう。
キャッシュの更新の詳細については、「マップ キャッシュの更新」をご参照ください。
元のデータにアクセスできるか
マップ キャッシュはデータのイメージを表しますが、他のユーザーがマップ サービスで個別属性表示や検索を実行できるようにすることも可能です。これらのツールは、サーバーからフィーチャの地理的位置を取得して、結果を返すことができます。アプリケーションは、キャッシュされたイメージの上に、ネイティブのグラフィックス レイヤー形式で結果を描画します。
キャッシュはどのようにして開始するのか
キャッシュを開始するには、初めにマップ サービスまたはイメージ サービスを公開する必要があります。公開プロセスの一部として、[サービス エディター] ダイアログ ボックスでプロパティを設定します。ここで縮尺とキャッシュの範囲を指定します。[サービス エディター] を表示する方法の詳細については、「サービスを公開する方法」の手順に従ってください。
サービスの公開時にすぐにタイルを作成するか (小さなキャッシュに適切)、公開後に独自にキャッシュを構築するか (大きな縮尺で構築するキャッシュの量を地理的に制限することが望まれる大きなキャッシュに適切) を選択できます。独自のキャッシュを構築する場合は、[サーバー ツール] ツールボックスにある [マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ジオプロセシング ツールを使用します。
マップ キャッシュの作成と管理に使用するソフトウェア コンポーネント
ここでは、マップ キャッシュを作成し、管理するときに理解しておかなければならない重要な機能を簡単に説明します。
キャッシュ タブ
[サービス エディター] ダイアログ ボックスの [キャッシュ] タブでは、サービスでキャッシュを使用することを指定し、タイル スキーマなどの必要な設定を構成することができます。[詳細設定] サブタブでは、イメージ形式やオンデマンド キャッシュを構成するかどうかなどの追加オプションを選択できます。
このタブは、サービスを公開するとき、またはサービス プロパティを表示するときに、ArcMap のカタログ ウィンドウで利用できます。
[キャッシュ] タブの使用に関するガイドラインについては、「使用可能なマップ キャッシュ プロパティ」をご参照ください。
マップ サービス キャッシュ タイル スキーマの生成 (Generate Map Server Cache Tiling Scheme) ツール
[マップ サービス キャッシュ タイル スキーマの生成 (Generate Map Server Cache Tiling Scheme)] ツールを使用すると、マップのタイル スキーマを作成できます。タイル スキーマには、キャッシュの縮尺、キャッシュの座標系、およびその他の必要なプロパティが含まれます。ツールの出力は、XML 形式のタイル スキーマ ファイルです。新しいキャッシュを作成するときに、タイル スキーマ ファイルを参照して、これらのプロパティを読み込むことができます。
このツールを使用してタイル スキーマを作成し、組織内の複数のキャッシュでこのファイルを使用することをお勧めします。
マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles) ツール
[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールを使用すると、既存のキャッシュ内でタイルを作成、更新、削除することができます。このツールにアクセスするには、[カタログ] ツリーで該当するサービスを右クリックし、[キャッシュの管理] > [タイルの管理] の順にクリックします。
[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] はジオプロセシング ツールであるため、他のツールと同じようにスクリプト化すると、定期的にキャッシュを更新するのに役立ちます。
キャッシュ ディレクトリ
ArcGIS Server キャッシュ ディレクトリは、キャッシュ タイルを格納するディスク上のフォルダーです。
サーバー キャッシュ ディレクトリを開いて、キャッシュ タイルとタイル スキーマ ファイルの conf.xml を調べることができます。キャッシュ ディレクトリには、構築済みのタイルに関する情報を含む、ファイル ジオデータベースの status.gdb も格納できます。
次の画像は、各タイルが単一のファイルとして格納されるエクスプロード形式のキャッシュを、Windows エクスプローラーで表示したときの様子です。コンパクト形式のキャッシュを使用すると、複数のタイルを格納する、バンドルと呼ばれる大きなファイルが表示されます。
サーバー キャッシュ ディレクトリの詳細については、「使用可能なマップ キャッシュ プロパティ」をご参照ください。