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