マップ キャッシュとは

マップ キャッシュは、ArcGIS Server のマップ表示を高速化するために効果的な方法です。マップ キャッシュを作成する際、サーバはマップ全体を複数の縮尺で描画し、マップ画像のコピーを格納します。サーバは、マップのリクエストがあると、これらの画像を配布します。リクエストのたびに ArcGIS Server にマップを描画させるよりも、キャッシュされた画像を渡すほうがはるかに高速です。キャッシュのもう 1 つの利点は、サーバがコピーを配布するスピードが画像の詳細度による影響をあまり受けないことです。

2 つの異なる縮尺レベルでのマップ キャッシュ

マップをキャッシュする理由

キャッシュを使用すると、マップを描画するためのパフォーマンスの低下がキャッシュの作成時だけで済みます。このため、キャッシュの作成には時間がかかることがあります。ただし、キャッシュの利点はキャッシュの作成にかかる時間を埋め合わせます。次に、キャッシュの主な利点をまとめます。

パフォーマンス: キャッシュされたマップを配置すると、マップが描画されるのを待つ時間が短くなるので、ユーザの作業がはかどります。

品質: キャッシュを使用すると、マップの詳細度がパフォーマンスに影響を与えることはありません。マップを作成するために影、透過表示、Maplex ラベリング エンジンなどを使用したかどうかは関係ありません。キャッシュはイメージのコレクションにすぎず、サーバはキャッシュされたイメージをどれも同じくらいの時間で返すことができます。

業界標準: 広く使用されているインターネット マッピング サイトにアクセスすると、画面移動やズームのときに小さな正方形のタイルが表示されます。ほとんどの場合、すべてのタイルが瞬時に表示されます。これは、キャッシュが使用されているためです。ArcGIS Server のマップ キャッシュを使用すると、これに匹敵するマップ パフォーマンスを実現できます。

キャッシュ プロセスの仕組み

キャッシュは自動的に開始されるわけではありません。キャッシュを作成するには、まずマップを設計し、マップをサービスとして公開する必要があります。次に、キャッシュ プロパティを設定し、タイルの作成を開始します。すべてのタイルを一度に作成することも、ユーザが最初にアクセスしてきたときにタイルの一部をオンデマンドで作成することもできます。

キャッシュに使用される [マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールには、次の 3 つの方法でアクセスできます。

  1. ArcCatalog または ArcMap のカタログ ウィンドウで、[Toolboxes] > [System Toolboxes] > [サーバ ツール] > [キャッシュ] の順に展開します。
  2. ArcCatalog または ArcMap のカタログ ウィンドウで、GIS サーバ上の対象のサービスを右クリックし、[サービス プロパティ] をクリックして、[キャッシュ] タブを選択します。
    • マップ キャッシュを初めて作成する場合は、適切なタイル スキーマを決定し、[タイルの作成] を選択します。
    • マップ キャッシュを作成したことがある場合は、タイル スキーマを確認または更新し、[タイルの更新] を選択します。
  3. [ジオプロセシング] メニューで、[ツールの検索] を選択し、検索用のダイアログ ボックスに「マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)」と入力します。

マップをキャッシュする際には複数の縮尺で描画し、ユーザがマップを拡大表示または縮小表示できるようにします。キャッシュのプロパティを選択するときに、キャッシュに使用する縮尺を決定する必要があります。キャッシュ ツールを最初に試してみたいだけの場合は、コンピュータに縮尺を選択させることができます。ただし通常は、縮尺を事前に選択するほうが、複数の縮尺で適切に表示されるマップを設計しやすくなります。縮尺を書き留め、ArcMap で製図を行うときにそれらを使用します。キャッシュを作成する際には、キャッシュ生成ツールに縮尺を入力します。

キャッシュを作成するときに理解しておく必要のある重要なプロパティは他にもあります。詳細については、「使用可能なマップ キャッシュ プロパティ」をご参照ください。

キャッシュはサーバ キャッシュ ディレクトリに格納されます。ArcGIS Server のすべてのコンポーネントを 1 つのコンピュータにインストールしている場合は、インストール プロセスでキャッシュ ディレクトリが作成されています。ArcGIS Server を複数のコンピュータにわたってインストールした場合は、サーバ キャッシュ ディレクトリを明示的に作成する必要があります。詳細については、「サーバ ディレクトリの作成」をご参照ください。

キャッシュのために選択する縮尺と設定するプロパティがタイル スキーマです。キャッシュはそれぞれタイル スキーマ ファイルを持つため、新しいキャッシュを作成するときにタイル スキーマ ファイルをインポートすると、すべてのキャッシュが同じタイル サイズと縮尺を使用するようになります。これにより、キャッシュされたサービスが複数含まれている ArcGIS Server Web アプリケーションのパフォーマンスを向上させることができます。必要に応じて、ArcGIS Online、Google Maps、Bing Maps のよく知られたタイル スキーマを使用して、これらのオンライン マッピング サービスをキャッシュと簡単にオーバーレイすることができます。

すべてのマップをキャッシュできるか

マップ キャッシュは、ある時点でのマップのスナップショットを表します。このため、キャッシュは頻繁に変化しないマップに使用するのが最も効果的です。これには、道路地図、イメージ、地形図などが含まれます。

データが変化する可能性が高い場合でも、キャッシュ ツールを使用して、キャッシュを定期的に更新することができます。また、これらの更新を自動的に行うようスケジュールすることもできます。以下の質問を検討すると、頻繁に変化するマップでもキャッシュできるかどうかを判断するのに役立ちます。

  • どれくらい新しいマップが必要か

    マップにライブ データを表示する必要があり、時間の遅延を容認できない場合、キャッシュは適していません。ただし、わずかな遅延なら容認することができ、キャッシュを猶予時間内に更新できる場合は、キャッシュを使用できます。

  • キャッシュの大きさとデータの変更範囲はどれくらいか

    この 2 つの質問は相互に関係しています。キャッシュが大きければ大きいほど、その作成に時間がかかります。通常、大きなキャッシュを更新する場合、変更された部分を分離して、その部分だけを更新するのが現実的です。キャッシュが小さい場合は、キャッシュ全体を再構築してもそれほど時間はかかりません。

    猶予時間内に更新が変更に追いつかない場合、そのマップはキャッシュに適していません。

上記の質問を検討した後、必要に応じてキャッシュを使用してください。おそらく、キャッシュの作成と更新への投資に見合うようなパフォーマンスの向上が得られるでしょう。

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

元のデータにアクセスできるか

マップ キャッシュはデータのピクチャを表しますが、他のユーザがマップ サービスで個別属性表示や検索を実行できるようにすることも可能です。これらのツールは、サーバからフィーチャの地理的位置を取得して、結果を返すことができます。アプリケーションは、キャッシュされたイメージの上に、ネイティブのグラフィックス レイヤ形式で結果を描画します。

マップを動的な描画に対応するようにすでに最適化した場合でもキャッシュする必要があるか

ArcMap には、[マップ サービス公開] ツールバーがあり、これを使用して動的な描画に対応するようにマップを調整できます。このツールバーは、以前のリリースでは導入されていなかった高速描画エンジンで使用してマップ サービスを公開するのにも使用できます。[マップ サービス公開] ツールバーを使用してマップを調整し、公開するときでも、キャッシュを作成してパフォーマンスとスケーラビリティを向上させることはできます。高速マップ描画エンジンにより、キャッシュの作成が高速化されます。また、タイルをオンデマンドでキャッシュするときのパフォーマンスも向上します。


3/6/2012