使用可能なマップ キャッシュ プロパティ

マップ キャッシュを作成するには、次の 2 つの作業が必要です。

  1. キャッシュ プロパティの設定
  2. タイルの作成

このトピックでは、使用可能なマップ キャッシュ プロパティについて説明します。タイルの作成については、「マップ キャッシュ タイルの作成方法」をご参照ください。

キャッシュ プロパティへのアクセス

[サービス プロパティ][キャッシュ] タブは、キャッシュ プロパティを設定できる場所です。[キャッシュ] タブへのアクセス方法については、以下のトピックをご参照ください。

[キャッシュ] タブを開いたら、まずマップ サービスを描画するための [以下で定義したキャッシュのタイルを使用して描画] オプションをオンにする必要があります。[データから動的に描画] がオンの場合、マップはその都度描画され、マップ サービスは作成されたキャッシュ タイルを使用しません。

このトピックでは以降、[キャッシュ] タブで使用可能な設定値について説明します。キャッシュの作成を開始した後は、既存のキャッシュを削除して最初からやり直さない限り、これらのオプションを変更することはできません。このため、キャッシュのタイル スキーマや他のプロパティを事前に計画しておくことが重要です。

キャッシュ プロパティの設定が完了したら、[タイルの作成] ボタン(ArcCatalog 専用)をクリックしてタイルの作成を開始するか、[マップ サービス キャッシュのタイルを管理(Manage Map Server Cache Tiles)] ジオプロセシング ツールを起動します。

タイル スキーマ

タイル スキーマには、キャッシュの縮尺レベル、タイルの寸法、タイル原点などが含まれています。それらのプロパティはタイル境界の場所の定義に用いられるため、一部のクライアントではキャッシュをオーバーレイするときの照合に重要です。画像形式やアンチエイリアスなど他のプロパティもタイル スキーマに書き込まれます。ただし、クライアント アプリケーションがタイルを正常にオーバーレイできるかどうかには影響しません。

タイル スキーマを選択するには、次のような方法があります。

レガシレガシ:

ArcGIS Online で以前に、512 x 512 ピクセルのタイルを使用した [WGS 1984] 地理座標系に基づくタイル スキーマが採用されていました。稼働中のサービスがこのタイル スキーマの使用を必須としている場合、既存のサービスまたはタイル スキーマ ファイルから読み込む必要があります。

縮尺

独自のタイル スキーマを作成する場合は、縮尺を明示的に定義するか、ArcGIS Server に縮尺の候補を表示させることができます。

[自動設定] オプションを選択すると、縮尺の数を指定するためのダイアログ ボックスが表示されます。続いて、ソース マップ ドキュメントの範囲に最も近いレベルで始まり、1:1,000,000 から 2 の累乗ずつ増減されているレベルの中から、適切なレベルが自動的に選択されます。たとえば、ソース マップ ドキュメントの範囲が 1:121,000,000 で、3 つの縮尺レベルが定義されている場合、ArcGIS Server で表示される縮尺レベルの候補は次のとおりです。

  • 1:128,000,000
  • 1:64,000,000
  • 1:32,000,000

一般的には、縮尺の候補数を約 20 以下に制限してください。

キャッシュ作成プロセスをよく理解した後は、縮尺の候補が表示されるようにするかわりに、縮尺レベルを自分で選択したくなるでしょう。可能であれば、マップの設計を開始する前に、キャッシュする縮尺を選択してください。そうしておけば、マップを各縮尺で適切に表示されるように設計することができます。

一連の縮尺を選択する簡単な方法は、ユーザがマップを表示するのに必要な最大拡大縮尺を決定し、それから対象エリア全体が 1 つか 2 つのタイルに含まれる縮尺に到達するまで、縮尺分母を 2 倍にしていくことです。たとえば、ある都市のタイル スキーマを設計していて、マップを表示するときの最大縮尺が 1:2,400 である場合は、その都市全体がコンピュータ画面に一度に表示されるレベルに達するまで、縮尺を 1:2,400、1:4,800、1:9,600、1:19,200、1:38,400 のように増やしていくことができます。

ストレージ設定

ストレージの効率化、モビリティ向上、あるいは各タイルを 1 ファイルとして格納する目的に、タイルをグループ化するかどうかを選択することができます。ストレージ オプションは、以下のとおりです。

  • [コンパクト] 形式では、キャッシュ内の各ファイルにタイルの
バンドルが格納されます。バンドルは横 128 タイル x 縦 128 タイルで、最大 16,384 タイルから構成されます。コンパクト キャッシュは、エクスプロード キャッシュに比べてコピーがはるかに高速で、しかもディスク上の必要領域が少なくて済みます。
  • [エクスプロード] 形式では、各タイルがディスク上のファイルとして格納されます。このため、キャッシュに追加されたタイルが見やすくなる一方、キャッシュ容量が増えて作成やコピーに時間がかかる結果になります。

キャッシュ内に莫大な数のファイルとフォルダがあると、コピー ユーティリティ(Windows の [コピー]、[貼り付け]、その他)の処理効率が低下する原因になることがあります。この理由から、キャッシュのコピー所要時間を大幅に短縮したい場合は、コンパクト キャッシュを使用してください。ステージング サーバ側にタイルを作成してプロダクション サーバ側にコピーする自動キャッシュ更新ワークフローが導入済みなら、コンパクト キャッシュを使用することをお勧めします。また、使用可能なディスク領域が限られている場合も、必ずコンパクト キャッシュを使用してください。

詳細詳細:

コンパクト キャッシュは、*.bundle ファイルに格納されます。ArcSOC.exe プロセスは、キャッシュ作業をバンドル単位に分割します。つまり、一度に処理できる ArcSOC.exe ファイルは 1 つだけです。各バンドルは *.bundlx ファイルに対応していて、*.bundlx ファイルはバンドル内の各タイル位置にあるインデックスを維持しています。

キャッシュの作成中には、*.lock ファイルと *.done ファイルも生成されます。*.lock ファイルは、現時点で作成中のバンドルを追跡するためにサーバが用いる手段です。*.lock ファイルが存在しないからといって、クライアントからバンドルをアクセスできないというわけではありません。同様に、バンドルが終了したことを知るためにサーバが用いる手段が、*.done ファイルです。キャッシュ ジョブが終了したら、*.lock ファイルと *.done ファイルをすべて削除する必要があります。

タイル スキーマの原点

タイル スキーマの原点は、タイル スキーマ グリッドの左上の隅です。原点は、必ずしもタイルの作成を開始する場所ではありません。マップの全範囲に達したときに、原点がタイルの作成を開始する場所となります。複数のキャッシュに対して共通のタイル スキーマ原点を使用すると、Web アプリケーションでキャッシュを互いにオーバーレイすることができます。

タイル スキーマ原点とタイル スキーマ グリッドの図

ほとんどの場合は、自動的に選択されるデフォルトのタイル スキーマ原点を使用してください。デフォルトの原点は、マップ ドキュメントによって定義された座標参照の左上に設定されます。マップ ドキュメントに空間参照が定義されていない場合は、マップに含まれているすべてのレイヤの範囲の和を 2 倍にしたときの左上が使用されます。

タイル スキーマの原点をデフォルト以外の場所に設定する場合は、タイル スキーマの原点の右下のマップ エリアでのみタイルを作成できることに注意してください。マップの特定のエリアのみをキャッシュしたい場合は、タイル スキーマの原点を変更するよりも、境界範囲またはフィーチャクラスに基づいてタイルを作成することをお勧めします。

タイルの幅と高さ

タイルの幅と高さはデフォルトで 256 ピクセルに設定されています。2 の累乗であればどのような幅や高さも選択できますが、128、256、512 のいずれかを使用することをお勧めします。別のキャッシュをオーバーレイするキャッシュを構築している場合は、両方のキャッシュに対して同じ高さと幅のタイルを使用してください。

タイルの幅と高さに小さい値を選択すると、キャッシュからタイルをリクエストしたときに転送するデータの量が少なくなるので、アプリケーションのパフォーマンスが向上する可能性があります。ただし、エクスプロード キャッシュでは、タイルのサイズを小さくするとキャッシュ全体のデータ量が増え、その分作成に時間がかかるようになります。Windows のデフォルトのディスク ブロック サイズは 4KB なので、サイズが 1KB しかない小さいタイルであっても、実際には 4KB のディスク領域を使用します。サイズが 4KB の大きなタイルは、4KB のブロックにぴったり収まります。したがって、1KB のタイルを 4 つ使用する場合は 16KB のディスク領域が必要であるのに対し、同じ領域をカバーする 4KB のタイルを 1 つ使用する場合は 4KB のディスク領域で済みます。エクスプロード キャッシュのファイルの数が多い場合は、この違いが大きな意味を持つ可能性があります。

推奨されるタイルの幅と高さの図

イメージ形式

この設定値に応じて、マップ サービスがタイルの作成時に使用する出力画像形式を決定されます。画像形式は、ディスク上のサイズ、画質、タイルの背景を透過表示する機能に影響するため、どの画像形式を選択するかは重要です。

デフォルトの画像形式は PNG 8 ですが、作成するマップのタイプに合った形式に変更する必要がよくあります。下記は、使用できる画像形式と適切な使用方法をまとめたものです。

  • PNG8 - 道路や境界など、背景を透過表示する必要のあるオーバーレイ サービスには、PNG 8 を使用してください。PNG 8 を使用すると、情報を失うことなくディスク上に極小サイズのタイルを作成できます。

    257 色以上をマップに使用している場合は、PNG 8 を使用しないようにしてください。イメージ、陰影起伏、グラデーション塗りつぶし、透過表示およびアンチエイリアスを使用すると、マップがすぐに 257 色以上になる場合があります。高速道路標識などのシンボルであっても、エッジ周囲には繊細なアンチエイリアスが使われている場合があり、予想以上にマップの色が増えてしまいます。

  • PNG24 - 道路や境界など 257 色以上のオーバーレイ サービスには PNG 24 を使用することができます(256 色未満なら PNG 8 を使用してください)。バージョン 6 以前の Internet Explorer でタイルを表示する場合は、PNG 24 を使用しないようにしてください。
  • PNG32 - 道路や境界など 257 色以上のオーバーレイ サービスには、PNG 32 を使用することができます。PNG 32 は、ラインまたはテキストに対してアンチエイリアスが有効にしてある MSD ベースのオーバーレイ サービスに特に適した選択肢です。PNG 32 ではディスク上に作成されるタイルが PNG 24 よりも大きくなりますが、作成されたタイルはすべてのブラウザでサポートされています。
  • JPEG - カラー バリエーションが豊富で、背景を透過表示する必要のないベースマップ サービスに使用する形式です。たとえば、ラスタ画像および非常に詳細なベクトル ベースマップはほとんどの場合、JPEG で効率的に処理できます。

    JPEG は、非可逆画像形式です。画像の外観に影響をおよぼすことなしに、データが選択的に除去されます。この結果、ディスク上のタイルが極小サイズになりますが、マップがベクトル線画またはラベルを含んでいる場合、ライン周囲に非常に多くのノイズや不明瞭領域が生成されることがあります。そのような場合は、デフォルトの圧縮値 75 を増分するようにしてください。値を 90 くらいまで増分すると、線画の許容品質と JPEG の小型タイル サイズとのバランスが保てるというメリットがあります。

    ユーザによって、どの程度の画質が許容範囲になるかは異なります。画像のノイズを最小限に抑えたい場合は、大量のディスク領域を確保するために、JPEG を選択してください。タイル サイズを縮小すると、ブラウザがタイルをダウンロードする時間が短縮されます。

  • 混合 - 混合キャッシュはキャッシュの中心部で JPEG を使用し、キャッシュのエッジ部で PNG 32 を使用します。他のレイヤ上にラスタ キャッシュをきれいにオーバーレイしたい場合は、混合モードを使用してください。

    混合キャッシュの作成時には、透過表示が検出される場所(データ フレームの背景が表示される場所)ならどこにでも PNG 32 タイルが作成されます。残りのタイルの構築には JPEG が使用されます。これにより、平均ファイル サイズが小さく抑えられるので、他のキャッシュ上にオーバーレイ全体をはみ出さずに配置できます。このシナリオで混合モード キャッシュを使用しない場合、他のキャッシュをオーバーラップする画像周囲に非透過的な「襟」が表示されます。

大型キャッシュの画像形式にコミットする前に、マップ標本領域の小型キャッシュを構築し、テスト アプリケーションのタイル品質とパフォーマンスを確認します。複数のキャッシュを使って作業している場合、各キャッシュ用に小型のテスト キャッシュを構築し、テスト アプリケーションに追加して、予期したとおりにオーバーレイすることを確認します。これにより、キャッシュ全体を作成する前に調整を行うことができます。

小型のテスト キャッシュを作成するには、ArcGIS Desktop の編集ツールを使用して、テスト対象領域の周囲に小型の長方形から成る新しいフィーチャクラスを作成してください。その後、ツールの下部にある [マップ サービス キャッシュのタイルを管理(Manage Map Server Cache Tiles)] オプションを使用して、フィーチャクラスの境界に基づいてタイルを作成することができます。テスト領域を含んだフィーチャクラスを参照し、タイルを作成します。

アンチエイリアス

アンチエイリアスは、エッジ付近の前景色と背景色をブレンドして、境界線が滑らかに見えるようにするグラフィック手法です。マップ サービスにアンチエイリアスを適用することにより、ラインおよびラベルの外観が高品質になります。サーバ管理者であれば、パフォーマンスを低下させてまでアンチエイリアスによる視覚品質の向上を図る価値があるかどうかを検討する必要があります。

マップ サービスが MXD ファイル(ArcMap ドキュメント)ベースかそれとも MSD ファイル(マップ サービス定義)ベースかに応じて、アンチエイリアスの効果は異なります。最適な品質とパフォーマンスを得るには、PNG 32 画像形式を使用して、MSD ベース サービスでアンチエイリアスを使用することを推奨します。

ArcMap の [マップ サービス公開] ツールバーを使用して、MSD ベース サービスのラインおよびテキストにそれぞれ異なるレベルのアンチエイリアスを適用できます。選択したアンチエイリアスの品質が高いほど、マップの描画速度が低下します。ツールバーの [プレビュー] ボタンを使用して、各アンチエイリアス レベルで外観と描画時間を把握できます。

MXD ベース サービスを使用している場合、ArcGIS Server はタイルをタイル スキーマで指定されている小型サイズのタイルに細分する前に、大きなマップ エリアをダウンサンプリングすることによりアンチエイリアスを実行します。この手法により、アンチエイリアスされたフィーチャの色にデータ フレームの背景色が反映されます。ベクタベースのキャッシュがラスタ画像をオーバーレイする場合は、データ フレームの背景色をマップに表示されないような暗い色に変更してから、キャッシュの作成を開始します。一部のソフトウェア ツールでは、特定のイメージにおいて平均的な色を割り出すことができます。これがデータ フレームの背景色にふさわしい色になることがあります。

アンチエイリアスと非アンチエイリアス グラフィックスの差異を比較したスクリーン ショット

DPI

DPI(Dot Per Inch)は、サーバが生成するキャッシュ タイルの解像度を表します。DPI は、ユーザの画面解像度(1,024 x 768 など)と物理サイズ(19 インチなど)に依存します。大型の画面(DPI が低くなる)、高解像度の画面、グラフィックス カード(設定値を高めると DPI が大きくなる)を使用しているためにクライアントのコンピュータのDPI が大きく異なることがあります。キャッシュされたレイヤが含まれているマップをクライアントが頻繁に印刷する場合は、DPI をデフォルト値よりも大きくすると効果的かもしれません。ただし、それによりキャッシュのファイル サイズが大きくなるので注意してください。

DPI 設定を選択する際には、通常はデフォルトの 96 で十分です。

高度なオプション(キャッシュ タイプ)

[高度な設定オプション] ボタンをクリックすると、[融合キャッシュ] または [マルチレイヤ キャッシュ] を選択するオプションが表示されます。融合キャッシュは、マップ内のすべてのレイヤを 1 つの融合イメージに追加します。すべてのレイヤを同時に有効または無効に設定する必要があります。

これに対し、マルチレイヤ キャッシュはレイヤごとにキャッシュされた一連のイメージで構成されます。マップを表示する際、サーバは各レイヤのタイルを重ね合わせる処理を行わなければなりません。マルチレイヤ キャッシュのレイヤの数が増えるに従い、重ね合わせの処理にかかる時間も長くなります。レイヤの数が多すぎるマルチレイヤ キャッシュを使用すると、キャッシュによるパフォーマンス上の利点が失われることがあります。また、キャッシュの範囲全体を対象に各レイヤをすべての縮尺レベルでレンダリングしなければならないので、キャッシュの作成にさらに時間がかかります。

可能であれば、常に融合キャッシュを使用してください。レイヤのオン/オフを設定できるようにする必要がある場合は、マルチレイヤ キャッシュを使用するのでなく、複数の融合キャッシュをオーバーレイすることを検討してください。そのためには、元のマップ ドキュメントのレイヤを論理的なグループに分類し、各グループを別個のマップ ドキュメントに追加します。各マップ ドキュメントのサービスを公開し、それぞれごとに融合キャッシュを作成します。そして、それらの融合キャッシュを Web アプリケーションまたは ArcMap でオーバーレイすることができます。

ヒント: 上記の方法で融合キャッシュをオーバーレイする場合は、それぞれのキャッシュに必ず同じタイル スキーマを使用してください。また、パフォーマンスを最適化するために、融合キャッシュをクライアント アプリケーションに直接追加してください。サービスに 1 つ以上のサービスを埋め込むことは避けてください。

以下は、マルチレイヤ キャッシュの振舞いに関するその他の注意事項です。

  • ArcMap は、マルチレイヤ キャッシュ処理用の推奨クライアントです。Web アプリケーションでマルチレイヤ キャッシュを使用した場合、キャッシュ マップ サービスを使用する利点はほとんど、あるいはまったくありません。
  • MSD ベースのサービスでは、マルチレイヤ キャッシュを使用することはできません。
  • グループ レイヤは、マルチレイヤ キャッシュ内の単一レイヤとして処理されます。グループ レイヤ内のレイヤは、表示/非表示の切り替えができません。

オンデマンドでのタイルの作成

[キャッシュ] タブには、[オンデマンドでタイルを作成] チェックボックスが含まれています。このチェックボックスがオンの場合、事前にキャッシュされていないエリアのタイルがクライアントによって最初にリクエストされたときにキャッシュに追加されることを意味します。

オンデマンド キャッシュを使用する状況の詳細

パフォーマンスのヒント: オンデマンド キャッシュを有効にすると、クライアント アプリケーションは ArcGIS Server のローカル接続ではなく ArcGIS Server のインターネット接続を使用して、より高いパフォーマンスを実現するようになります。

サーバ キャッシュ ディレクトリについて

サーバ キャッシュ ディレクトリは、キャッシュ タイルを格納するディスク上のフォルダです。1 つのサーバ キャッシュ ディレクトリに複数のサービスのキャッシュを保持できます。サーバには、必要に応じて複数のサーバ キャッシュ ディレクトリを追加することもできます。[キャッシュ] タブでは、キャッシュを格納するために使用するサーバ キャッシュ ディレクトリを選択することができます。

ArcGIS Server のすべてのコンポーネントを 1 台のコンピュータにインストールすると、サーバ キャッシュ ディレクトリが自動的に作成されます(デフォルトでは、C:\arcgisserver\arcgiscache に作成されます)。このディレクトリを参照する仮想ディレクトリも作成されます。

複数のコンピュータに ArcGIS Server のコンポーネントをインストールした場合、サーバ キャッシュ ディレクトリとその仮想ディレクトリを手動で設定する必要があります。詳細については、「サーバ ディレクトリの作成」および「複数のコンピュータによる導入の構成」をご参照ください。SOC アカウントにサーバ キャッシュ ディレクトリへの [書き込み] アクセス権限を必ず付与してください。そうすることにより、ArcGIS Server は常にタイルをディレクトリに正しく格納できます。キャッシュを作成し終えたら、書き込みアクセス権限を必要に応じて削除することができます。

サーバ キャッシュ ディレクトリ内のフォルダ構造

Windows エクスプローラでサーバ キャッシュ ディレクトリを開いて、キャッシュ タイルとタイル スキーマ ファイル conf.xml を調べることができます。別のファイル conf.cdi には、サービスのデフォルト範囲情報が格納されています。conf.cdi は ArcGIS Desktop 内のラスタ データセットとしてキャッシュを表示する際に必要です。

タイルはディレクトリ階層で分類されています。GIS server フォルダ内にサービスが作成してある場合を除き、最上位のディレクトリはマップ サービスと同じ名前が付けられます。マップ サービスがフォルダ内にある場合、最上位のディレクトリの名前は <フォルダ名>_<マップ サービス名> に設定されます。

注意注意:

サービス名またはマップ データ フレーム名を変更する場合、対応するキャッシュ フォルダの名前を手動で変更する必要があります。

最上位のディレクトリの下に、キャッシュされたマップの特定のデータ フレームのサブディレクトリが表示されます。次に、単一の融合キャッシュまたはマルチレイヤ キャッシュのどちらを作成したかに応じて、単一のサブディレクトリ _alllayers、または複数のサブディレクトリが表示されます。各サブディレクトリはマルチレイヤ キャッシュ内にキャッシュされている特定のレイヤ名に基づいて名前が付けられます。

各レイヤ サブディレクトリ内に、詳細レベルに応じたサブディレクトリが表示されます。このような詳細レベルによるサブディレクトリの構造は、コンパクト ストレージ形式または展開済み保存形式のどちらを使用しているかに応じて異なります。

  • コンパクト キャッシュ形式を使用している場合、レベル フォルダのすぐ下にバンドル ファイルが表示されます。このバンドル ファイルにはタイルが格納されています。
  • エクスプロード キャッシュ形式を使用している場合、まず各タイル行のサブディレクトリが表示され、最後に行内の特定の列を表す実際の画像ファイルが表示されます。

サーバ キャッシュ ディレクトリには GlobeCache フォルダも格納できます。この GlobeCache フォルダには、サーバ キャッシュ ディレクトリに格納されているすべてのグローブ キャッシュが格納されます。


7/10/2012